在用 C 編寫程式碼時,程式設計師經常會遇到「非標準語法」之類的錯誤。當使用 C 語言未正式識別的語法執行操作時,會出現此錯誤。
在您的特定情況下,錯誤源自於以下程式碼:
<code class="cpp">void TicTacToe::player1Move(string coordX) // ERROR { cout << "Enter X: " << endl; cin >> coordX; _coordX = coordX; }</code>
這裡,player1Move函數是TicTacToe類別的成員函數。但是,函數名稱用作單一表達式,而不呼叫函數呼叫語法。根據 C 約定,這對成員函數是不正確的。
要正確取得指向成員函數的指針,需要使用 address-of操作員 (&)。此運算符會建立對函數記憶體位置的引用,使我們能夠間接存取該函數。
程式碼的修復是:
<code class="cpp">void TicTacToe::player1Move(string coordX) { cout << "Enter X: " << endl; cin >> coordX; _coordX = coordX; }</code>
透過此更改,player1Move 函數可以程式的其他部分使用 .運算符,如下所示:
<code class="cpp">TicTacToe Board; Board.player1Move("1");</code>
以上是為什麼我的 C 程式碼中會出現「非標準語法」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!