プログラミングと無関係な話題なのに、いつもリファが多いのは関数的なアンテナ。
申し訳ないようなそうでもないような。
で。
久々にプログラミングの話題。
でも、関数的じゃなくて C++。
まずはソース:
struct A{ virtual void foo(){ puts( "A::foo" ); } }; struct B : public A{ virtual void foo(){ puts( "B::foo" ); } }; void test(){ B b; A & a = b; void (A::*hoge)(); //略。 }
で。この状態で、(a.*hoge)() が、a.A::foo() になるように、hoge を設定したい。
のだが。
どうも、そういう値に hoge を設定する方法はないような気がする。
a.A::foo() と書けば呼べるのに、その関数のアドレスが取れないなんて。
それとも、私がメンバ関数へのポインタの文法をわかってないだけ??
#写真と本文は関係ありません。