call of overloaded 'function' is ambigous

Hello,
I have trouble with HttpPost request because of some stupid error.
Generally, evertything works fine (I've sucessfully made http post request before) but the problem occurs when I need to add reference to my string like this:

void HttpPost(long some_num) {
....
mySerial.println("AT+HTTPPARA=\"URL\",\"www.mysite.com/?parameter1=%ld/\"",  some_num);
....
};

Later in code:

long some_num = 12323245;
HttpPost(some_num);

It gives me error 'call of overload 'println(const char [51], long int&)' is ambigous.

I've google it but I couldn't find solution.
As I'm really new in C++ maybe I'm doing some stupid mistakes so please try to explain it to me like to newbie.

Thanks

What is the mySerial instance? Is it SoftwareSerial?

It looks as if you're trying to use the varargs vprintf style formatting when printing to a stream. That won't work. You need to either use snprintf() or similar to format the string to a char array and then print the resulting string to the serial port, or write the fixed text and the variable decimal number in separate calls to serial.print. Since there's only one variable, the second approach would seem more sensible.

Jiggy-Ninja:
What is the mySerial instance? Is it SoftwareSerial?

Yes, it's instance of SoftwareSerial.

PeterH:
It looks as if you're trying to use the varargs vprintf style formatting when printing to a stream. That won't work. You need to either use snprintf() or similar to format the string to a char array and then print the resulting string to the serial port, or write the fixed text and the variable decimal number in separate calls to serial.print. Since there's only one variable, the second approach would seem more sensible.

Well, it's only one variable in this example but actually there's going to be more variables (more post request parameters).
So maybe first approach could work better. I hope I'll make it work like that, I need to study C++ syntax better.

Thanks

Ok, I've solved it like this and it works fine.
Thanks one more time

char str[] = "AT+HTTPPARA=\"URL\",\"www.mysite.com/?parameter1=%ld/\"";
char str2[1000]; 
sprintf(str2,str,sum_num);
mySerial.println(str2);

I don't see any purpose in putting your format string in a variable, and I suggest you use snprintf() rather than sprintf(), but otherwise you got the right idea. However, allowing 1000 bytes for the output string seems rather excessive, and given that the common Arduinos only have a total of 2KB of memory it may be more than you can afford.

char str2[1000];

On which Arduino? On a 328-based machine, that's half your memory.