私はいくつかのサードパートコードを持っています:
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()
A
A
B
B
A