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 中国語 Web サイトの他の関連記事を参照してください。