助けて~
スキル不足でよくわからん。^^;;
class Foo {
void bar();
void baz();
};void Foo::bar()
{
// foobar
}void Foo::baz()
{
typedef void (Foo::*PFUNC)();PFUNC pFunc = &Foo::bar;
pFunc(); // ここでエラー
}
最後のところで pFunc() で関数を呼びたいのだが、
『foo.cpp(14) : error C2064: 0 引数を取り込む関数には評価されません。』
というエラーが出る。なぜ?
bar() 以外にも同じ型のメンバ関数がいっぱいあるから、関数テーブル作って適当に呼びたいの。テスト的にね。
誰か教えて~。
#.NET 2003 だと、&Foo::bar は bar だけで通るけど、2005 だと、&Foo:: が必要だった。
| 固定リンク
「プログラミング」カテゴリの記事
- ListView の Height は WRAP_CONTENT を避けるべき(2015.12.23)
- プログラミングコンテストチャレンジブック(2010.09.27)
- 久しぶりに(2009.03.18)
- AVR-USB, hid-data(2008.11.24)
- AVR-USB、Tiny45 の internal RC oscillator で動作!(2008.11.08)
この記事へのコメントは終了しました。
コメント
古いエントリなので解決済みかもしれませんが…
(this->* pFunc)();
かな?
投稿: ほかの用事でググってて通りすがったものです | 2007.07.06 14:37