首頁 > 後端開發 > C++ > 主體

為什麼 Visual Studio 2015 需要「&」來建立指向成員函數的指標?

Mary-Kate Olsen
發布: 2024-11-03 03:50:02
原創
381 人瀏覽過

Why Does Visual Studio 2015 Require

Visual Studio 2015 中的非標準語法:使用「&」作為指向成員的指標

問題

嘗試存取以下成員函數時C不使用函數呼叫語法,Visual Studio 2015 遇到錯誤:「非標準語法;使用'&'建立指向成員的指標。」

說明

在Visual Studio 中,可以在表達式中使用非成員函數,而無需使用函數呼叫語法。然而,對於成員函數來說,這是不被允許的。要取得指向成員函數的指針,需要使用 '&' 運算子。

解決方法

錯誤的解決方案是在有問題的成員函數名稱前面加上 '& ' 運算符,建立指向成員函數的指標。透過這樣做,該函數可以在沒有函數呼叫語法的表達式中使用。

範例

考慮以下類別定義:

<code class="cpp">class TicTacToe {
public:
    void player1Move(string coordX);
};</code>
登入後複製

存取player1Move成員在不使用函式呼叫語法的情況下,使用下列指向成員的指標:

<code class="cpp">TicTacToe::&player1Move;</code>
登入後複製

這個指向成員的指標現在可以無需明確呼叫函數即可在表達式中使用:

<code class="cpp">TicTacToe Board;
(Board.*player1Move)("some_coordinate");</code>
登入後複製

透過使用'&' 運算符,Visual Studio 可以正確解釋意圖並避免非標準語法錯誤。

以上是為什麼 Visual Studio 2015 需要「&」來建立指向成員函數的指標?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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