私はいくつかのサードパートコードを持っています:
class A(){
public:
void assingOnClickFunction(void (*function)();
};
そのコードでは何も変更できません。A::assingOnClickFunction()クラスBの私のメソッドを渡したいと思いvoid B::someFunction()ます。私は試しました(すべてBクラス内です!):
a->assingOnClickFunction(this->someFunction);
しかし、エラーが発生します:
関数呼び出しに引数リストがありません。'&B :: someFunction'を使用して、メンバーへのポインターを作成します
だから私はそれを次のように変更しました:
a->assingOnClickFunction(&B::someFunction);
しかし、今ではさまざまなタイプについてエラーが発生することがよくあります(void(*)()。(&B::*)()
静的にすることはできませんB::someFunction()(非静的Bのメンバーとメソッドをたくさん使用します)!
だから、私をに渡すオプションはありますか、 それを静的に変更せず、クラス内の何も変更しません(認識していない、認識できない、含む)?B::someFunction() A::assingOnClickFunction()AABBA