Maison  >  Article  >  développement back-end  >  Pourquoi est-ce que j'obtiens l'erreur « syntaxe non standard ; utiliser \'&\' pour créer un pointeur vers un membre » dans Visual Studio 2015 ?

Pourquoi est-ce que j'obtiens l'erreur « syntaxe non standard ; utiliser \'&\' pour créer un pointeur vers un membre » dans Visual Studio 2015 ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-01 17:58:30685parcourir

Why Am I Getting the

Résolution de l'erreur « syntaxe non standard ; utilisez « & » pour créer un pointeur vers un membre » dans Visual Studio 2015

Problème :

Un message d'erreur est rencontré lors de la compilation dans Visual Studio 2015, indiquant "syntaxe non standard ; utilisez '&' pour créer un pointeur vers un membre." Cette erreur concerne la tentative d'appel d'une fonction membre sans utiliser la syntaxe de pointeur appropriée.

Cause :

En C, les fonctions membres sont accessibles à l'aide de pointeurs vers les fonctions membres. plutôt que directement. Lors de l'utilisation de fonctions membres au sein de fonctions non membres, il est essentiel de précéder le nom de la fonction membre d'un '&' pour indiquer le pointeur.

Solution :

Pour résoudre cette erreur, modifiez le code pour utiliser la syntaxe de pointeur appropriée lors de l'appel des fonctions membres. Voici comment résoudre le problème dans votre fonction membre « player1Move » :

<code class="cpp">void TicTacToe::player1Move(string coordX) // ERROR
{
  cout << "Enter X: " << endl;
  cin >> coordX;
  _coordX = coordX;
}</code>

Le code ci-dessus doit être remplacé par :

<code class="cpp">void TicTacToe::player1Move(string coordX)
{
  cout << "Enter X: " << endl;
  cin >> coordX;
  _coordX = coordX;
}</code>

En ajoutant '&' avant le " player1Move" nom de la fonction, vous créez un pointeur vers la fonction membre, vous permettant de l'appeler correctement.

Supplémentaire Explication :

Lorsqu'une fonction membre n'est pas appelée explicitement sur une instance d'objet (en tant que méthode dans la programmation orientée objet), elle peut être appelée à l'aide d'un pointeur vers une fonction membre. L'opérateur '&' en C est utilisé pour créer un pointeur vers une fonction membre. Cette syntaxe adhère à la norme C et permet un accès correct aux fonctions membres à partir de contextes non membres.

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!

Déclaration:
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