:私は、次のような何かをしたい型以外のテンプレート引数としてローカル変数
Example(&Class::MemberFunction, this));
//...
template<class T_CLASS>
inline static void Example(void (T_CLASS::*MemberFunctionPointer)(), T_CLASS* InstancePointer)
{
SomeClass<T_CLASS>::Bind<MemberFunctionPointer>(InstancePointer);
}
しかし、私はエラーを取得:*テンプレートパラメータ「T_MEMBER_FUNCTION」:「MemberFunctionPointer」:ローカル変数を使用することはできませんこの問題のための*
非型引数として任意のソリューション?私は、ミルコを
感謝を「バインド」を呼び出すための簡単な方法を提供したい
//編集:
私はMemberFunctionPointerは私が再び必要とする「バインド」であるため非型テンプレートパラメータになりたいですそれはテンプレート引数として。 あなたはあなたの答えに書いたように、私の場合にはMemberFunctionPointerは可変であり、その値は、コンパイル時には不明です。しかし、MemberFunctionPointerは常に同じ関数を指しています。例えば、コンパイラがコンパイル時にそれを知るように定数を作る方法はありますか?
この非常によく似た質問を見てくださいhttp://stackoverflow.com/q/6041570 – sharptooth