首頁 > 後端開發 > C++ > 如何正確呼叫C語言中的成員函數指標?

如何正確呼叫C語言中的成員函數指標?

DDD
發布: 2024-12-18 14:43:09
原創
738 人瀏覽過

How Can I Correctly Invoke a Member Function Pointer in C  ?

成員函數指標呼叫

使用成員函數指標時,透過指標執行函數通常具有挑戰性。讓我們更詳細地考慮這個問題。

在提供的程式碼片段中,嘗試透過成員函數指標 pcat 呼叫 cat 類別的 walk 成員函數。然而,由於語法錯誤,程式碼無法編譯。

問題的根源在於運算子的優先權。函數呼叫運算子 (()) 的優先權高於指向成員綁定運算子 (.*)。此外,一元運算子優先於二元運算子。為了解決這個問題,需要額外的括號,如下所示:

(bigCat.*pcat)();
^            ^
登入後複製

透過將函數呼叫括在括號中,我們確保它首先被執行,然後將成員函數指標pcat 綁定到貓對象bigCat。透過此調整,可以成功呼叫 walk 成員函數。

以上是如何正確呼叫C語言中的成員函數指標?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板