1

我正在尝试创建一个调用类的成员函数的模板函数。

template<typename T>
void call(T owner, void (T::*func)())
{
    (owner.func());
}

和用法:

Foo a;
call(a, &Foo::printname);

但编译器返回错误 C2664。有什么问题?

4

1 回答 1

3

func是一个指向成员函数的指针;调用它们有一种特殊的语法:

(owner.*func)();
于 2013-06-19T19:17:04.603 回答