成員函數指標呼叫
使用成員函數指標時,透過指標執行函數通常具有挑戰性。讓我們更詳細地考慮這個問題。
在提供的程式碼片段中,嘗試透過成員函數指標 pcat 呼叫 cat 類別的 walk 成員函數。然而,由於語法錯誤,程式碼無法編譯。
問題的根源在於運算子的優先權。函數呼叫運算子 (()) 的優先權高於指向成員綁定運算子 (.*)。此外,一元運算子優先於二元運算子。為了解決這個問題,需要額外的括號,如下所示:
(bigCat.*pcat)(); ^ ^
透過將函數呼叫括在括號中,我們確保它首先被執行,然後將成員函數指標pcat 綁定到貓對象bigCat。透過此調整,可以成功呼叫 walk 成員函數。
以上是如何正確呼叫C語言中的成員函數指標?的詳細內容。更多資訊請關注PHP中文網其他相關文章!