Lors de l'écriture de code en C, les programmeurs rencontrent souvent des erreurs telles que la « syntaxe non standard ». Cette erreur se produit lorsqu'une opération est effectuée en utilisant une syntaxe qui n'est pas officiellement reconnue par le langage C.
Dans votre cas spécifique, l'erreur provient du code suivant :
<code class="cpp">void TicTacToe::player1Move(string coordX) // ERROR { cout << "Enter X: " << endl; cin >> coordX; _coordX = coordX; }</code>
Ici, la fonction player1Move est une fonction membre de la classe TicTacToe. Cependant, le nom de la fonction est utilisé comme une expression unique, sans appeler la syntaxe d'appel de fonction. Selon les conventions C, cela est incorrect pour les fonctions membres.
Pour obtenir correctement un pointeur vers une fonction membre, vous devez utiliser l'adresse-de opérateur (&). Cet opérateur crée une référence à l'emplacement mémoire de la fonction, nous permettant d'accéder indirectement à la fonction.
Le correctif de votre code est :
<code class="cpp">void TicTacToe::player1Move(string coordX) { cout << "Enter X: " << endl; cin >> coordX; _coordX = coordX; }</code>
Avec ce changement, la fonction player1Move peut être invoqué correctement par d'autres parties du programme à l'aide du . opérateur, comme ceci :
<code class="cpp">TicTacToe Board; Board.player1Move("1");</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!