プログラミングと無関係な話題なのに、いつもリファが多いのは関数的なアンテナ。
申し訳ないようなそうでもないような。
で。
久々にプログラミングの話題。
でも、関数的じゃなくて 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() と書けば呼べるのに、その関数のアドレスが取れないなんて。
それとも、私がメンバ関数へのポインタの文法をわかってないだけ??
#写真と本文は関係ありません。