これは私が達成しようとしていることです:
class MyClass
{
public:
template<typename T>
void whenEntering( const std::string& strState,
T& t,
void T::(*pMemberFunction)(void)) /// compilation fails here
{
t.(*pMemberFunction)(); // this line is only an example
}
}
これは、受信したイベントに反応するための一種のコールバック システム用です。
ただし、Visual 2010 では次のコンパイル エラーが発生します。
error C2589: '(' : illegal token on right side of '::'
メンバーへのポインターの構文が間違っている可能性があります...しかし、この方法でテンプレートを定義できないのではないかと心配しています...何か考えはありますか?