Maison > développement back-end > C++ > le corps du texte

Pourquoi est-ce que je reçois une erreur « Syntaxe non standard » dans mon code C ?

Barbara Streisand
Libérer: 2024-11-02 01:25:30
original
662 Les gens l'ont consulté

Why Am I Getting a

Comprendre l'erreur de « syntaxe non standard »

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.

Problème : pointeur de fonction membre manquant

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>
Copier après la connexion

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.

Résolution : Utilisation de l'opérateur Adresse-de

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!