In PortAudio’s C++ bindings, there is a MemFunCallBackStream constructior that can be called as:
portaudio::MemFunCallbackStream<MyClass> streamRecord(paramsRecord,
*AnInstanceOfMyClass,
&MyClass::MemberFunction);
where last parameter is the callback function. However without using the & operator on that parameter compiler fails. But as far as I know & parameter is omitable when obtaining address of functions to use in function pointers. Is this somehow different from C callback function and ptr. to func. syntax?
This FAQ seems to suggest that you can omit the
&(for static member functions, at least), but then goes on to give various reasons why you shouldn’t confuse ordinary function-pointers with C++ member-function-pointers.EDIT: Found more information here, which is relevant to non-static member functions: