以下のようなコードを書きたいんですが、
//クラス定義 class myclass { public: int z; void (*func)(int x); }; //クラスと関係ない変数 int myint1, myint2; // funcの行き先 void myclass::sub1(int x) { z=x + myint1; } void myclass::sub2(int x) { z=x + myint2; } int main(){ myclass a,b; a.func = sub1; b.func = sub2; }
sub1, sub2 は myclass のメンバじゃないと怒られます。でも myint はクラスと関係ないんでこれはクラスに入れたくないんです。こういうのは出来ない仕様つーことですかね。 void sub1(int x, myclass *c) などとして a.func(x, &a) などとするしかないのかな。