私は2つのクラスAとBを持っています
class A
{
public:
void SetHandler(void (*p)(OMX_BUFFERHEADERTYPE*)){ Handler = p; };
private:
void (*Handler)(OMX_BUFFERHEADERTYPE*);
}
と
BIには機能があります
void B::handler(OMX_BUFFERHEADERTYPE* p){};
今(Bから)私が電話するとき
inst_a.SetHandler(&B::handler);
次のエラーが表示されます。
B.cpp:740:69: error: no matching function for call to ‘A::SetHandler(void (COMXVideo::*)(OMX_BUFFERHEADERTYPE*))’
B.cpp:740:69: note: candidate is:
A.h:161:8: note: void A::SetHandler(void (*)(OMX_BUFFERHEADERTYPE*))
A.h:161:8: note: no known conversion for argument 1 from ‘void (B::*)(OMX_BUFFERHEADERTYPE*)’ to ‘void (*)(OMX_BUFFERHEADERTYPE*)’
私は何を間違っていますか?
よろしくお願いします