Привет, я пытаюсь построить тамплатную функцию в vc ++, как показано ниже:
template<class _Fn0,class _Fn1> void for_each(_Fn0 _Func0,_Fn1 _Func1)
{
_Func0(12);
_Func1(12);
}
когда я использую для _Func0 / 1 глобальную функцию, эта работа выполняется быстро.
void aglobal(int a)
{
a++;
}
for_each(aglobal,aglobal);
но когда я использую функцию класса memeber, я получаю сообщение об ошибке.
class A
{
public:
void aa(int a)
{
a++;
}
void bb(int b)
{
b++;
}
void cc()
{
for_each(&A::aa,&A::bb);
}
};
ошибка C2064: термин не оценивает функцию, принимающую 1 аргумент
1> см. Ссылку на экземпляр шаблона функции 'void for_each (_Fn0, _Fn1)', который компилируется.
Как я могу исправить эту ошибку?
спасибо, Герцль.