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 –