6
我有一个指针指向一个类中定义成员函数,例如:调用指针到成员函数C++
class Example {
void (Example::*foo)();
void foo2();
};
以我主代码,我然后设置FOO为:
Example *a;
a->foo = &Example::foo2;
然而,当我尝试调用foo:
a->foo();
我得到以下编译时错误:“错误:明显的呼叫前面的表达式括号必须有(指针)功能类型“。我假设我得到的语法错了某处,有人可以指出我吗?
'见ideone here? –
不幸的是,这是行不通的。 a - > * foo()返回“错误:foo未定义”,并且 - > *(a-> foo)()会给出原始错误消息。 – wolfPack88
因为运算符的优先级如何工作,所以你需要''a - > *(a-> foo)'左边的parens –