関数ポインタの処理に問題があります。関数ポインタをメンバーとして持つクラスControlを作成しました。
void (*mouseFunction) (Control*, Event*);
メンバーは保護されており、セッターとゲッターがあります。
void (*getMouseFunction()) (Control*,Event*)
{
return mouseFunction;
}
void setMouseFunction( void (*mouseFunction) (Control*, Event*) )
{
this->mouseFunction=mouseFunction;
}
問題は、ポインタを設定した後でも、常にNULLになることです。
ヘッダーファイル内で宣言された関数があります:
void mouseFunction (Control* control, Event* event)
{
std::cout << "Inside Text Field";
}
私がそれを割り当てようとすると:
myControlInstance.setMouseFunction(mouseFunction);
ゲッターを使用してポインターを取得すると、NULLになります。関数を実行しようとすると、EXC_BAD_ACCESSが取得されます。
error: address doesn't contain a section that points to a section in a object file