Maison > développement back-end > C++ > Pourquoi Visual Studio 2015 nécessite-t-il \'&\' pour créer un pointeur vers une fonction membre ?

Pourquoi Visual Studio 2015 nécessite-t-il \'&\' pour créer un pointeur vers une fonction membre ?

Mary-Kate Olsen
Libérer: 2024-11-03 03:50:02
original
439 Les gens l'ont consulté

Why Does Visual Studio 2015 Require

Syntaxe non standard dans Visual Studio 2015 : utilisation de « & » pour le pointeur vers un membre

Problème

Lors de la tentative d'accès à une fonction membre dans C sans utiliser la syntaxe d'appel de fonction, Visual Studio 2015 rencontre une erreur : "syntaxe non standard ; utilisez '&' pour créer un pointeur vers un membre."

Explication

Dans Visual Studio, les fonctions non membres peuvent être utilisées dans des expressions sans utiliser la syntaxe d'appel de fonction. Cependant, pour les fonctions membres, cela n'est pas autorisé. Pour obtenir un pointeur vers une fonction membre, il est nécessaire d'utiliser l'opérateur '&'.

Résolution

La solution à l'erreur est de préfixer le nom de la fonction membre problématique avec le '& ', créant un pointeur vers la fonction membre. En faisant cela, la fonction peut être utilisée dans des expressions sans la syntaxe d'appel de fonction.

Exemple

Considérez la définition de classe suivante :

<code class="cpp">class TicTacToe {
public:
    void player1Move(string coordX);
};</code>
Copier après la connexion

Pour accéder au membre player1Move fonction sans utiliser la syntaxe d'appel de fonction, utilisez le pointeur suivant vers le membre :

<code class="cpp">TicTacToe::&player1Move;</code>
Copier après la connexion

Ce pointeur vers le membre peut désormais être utilisé dans des expressions sans appeler explicitement la fonction :

<code class="cpp">TicTacToe Board;
(Board.*player1Move)("some_coordinate");</code>
Copier après la connexion

Par en utilisant l'opérateur '&', Visual Studio peut interpréter correctement l'intention et éviter l'erreur de syntaxe non standard.

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