Taken from the libcurl programming tutorial on the libcurl site:
libcurl with C++
There\'s basically only one thing to keep in mind when using
A non-static member function is normally not allowed as a C callback because it needs also the instance pointer as a hidden parameter, which is not provided by the calling C code (and this hidden parameter, depending from the compiler, may not be passed according to the "regular" calling convention, but in a particular register, ...).
Static member functions, instead, are "normal" functions with a particular scope (which is not relevant as far as the ABI is concerned).