Я хочу сделать что-то вроде следующего:
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': локальная переменная не может использоваться в качестве аргумента, отличного от типа*
Любые решения для этой проблемы? Я хочу предоставить более простой способ вызова "Bind"
Спасибо, Мирко
//редактировать:
Я хочу, чтобы MemberFunctionPointer был параметром шаблона, отличным от типа, потому что в «Bind» он мне снова нужен в качестве аргумента шаблона. Как вы писали в своих ответах, в моем случае MemberFunctionPointer является переменной, и ее значение неизвестно во время компиляции. Но MemberFunctionPointer всегда указывает на одну и ту же функцию. Есть ли способ, например, сделать его постоянным, чтобы компилятор знал об этом во время компиляции?