成員函數指標呼叫:剖析正確的語法
使用成員函數指標時,遵守正確的語法至關重要,以確保成功執行。讓我們深入研究嘗試透過成員函數指標呼叫成員函數時遇到的典型問題並提供必要的解決方案。
錯誤的代碼片段:
class cat { public: void walk() { printf("cat is walking \n"); } }; int main(){ cat bigCat; void (cat::*pcat)(); pcat = &cat::walk; bigCat.*pcat(); }
編譯錯誤:The bigCat .*pcat();
解決方案:
解決此問題的關鍵在於確保表達式bigCat.*pcat() 具有適當的優先權。運算子優先權規定一元運算子優先於二元運算子。因此,需要使用括號來使函數呼叫() 優先於指向成員的指標綁定操作.*.
(bigCat.*pcat)(); ^ ^
將函數呼叫括在括號內可確保其首先執行,然後是成員函數指標綁定。
記住:
以上是如何正確呼叫C中的成員函數指標?的詳細內容。更多資訊請關注PHP中文網其他相關文章!