标签: c++ templates function-pointers
我正在尝试创建一个调用类的成员函数的模板函数。
template<typename T> void call(T owner, void (T::*func)()) { (owner.func()); }
和用法:
Foo a; call(a, &Foo::printname);
但编译器返回错误C2664。 有什么问题?
答案 0 :(得分:3)
func是一个指向成员函数的指针;有一种特殊的语法来调用它们:
func
(owner.*func)();