Heim  >  Artikel  >  Backend-Entwicklung  >  Warum erfordert Visual Studio 2015 \"&\", um einen Zeiger auf eine Mitgliedsfunktion zu erstellen?

Warum erfordert Visual Studio 2015 \"&\", um einen Zeiger auf eine Mitgliedsfunktion zu erstellen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-03 03:50:02382Durchsuche

Why Does Visual Studio 2015 Require

Nicht standardmäßige Syntax in Visual Studio 2015: Verwendung von „&“ für Zeiger auf Mitglied

Problem

Beim Versuch, auf eine Mitgliedsfunktion in zuzugreifen C ohne Verwendung der Funktionsaufrufsyntax tritt in Visual Studio 2015 ein Fehler auf: „Nicht standardmäßige Syntax; verwenden Sie ‚&‘, um einen Zeiger auf ein Mitglied zu erstellen.“

Erklärung

In Visual Studio Nicht-Member-Funktionen können in Ausdrücken verwendet werden, ohne die Funktionsaufrufsyntax zu verwenden. Für Mitgliedsfunktionen ist dies jedoch nicht zulässig. Um einen Zeiger auf eine Mitgliedsfunktion zu erhalten, muss der Operator „&“ verwendet werden.

Lösung

Die Lösung des Fehlers besteht darin, dem problematischen Namen der Mitgliedsfunktion das Präfix „&“ voranzustellen. '-Operator, der einen Zeiger auf die Memberfunktion erstellt. Auf diese Weise kann die Funktion in Ausdrücken ohne die Funktionsaufrufsyntax verwendet werden.

Beispiel

Betrachten Sie die folgende Klassendefinition:

<code class="cpp">class TicTacToe {
public:
    void player1Move(string coordX);
};</code>

Um auf das Mitglied „player1Move“ zuzugreifen Funktion ohne Verwendung der Funktionsaufrufsyntax verwenden Sie den folgenden Zeiger auf Member:

<code class="cpp">TicTacToe::&player1Move;</code>

Dieser Zeiger auf Member kann jetzt in Ausdrücken verwendet werden, ohne die Funktion explizit aufzurufen:

<code class="cpp">TicTacToe Board;
(Board.*player1Move)("some_coordinate");</code>

By Mithilfe des Operators „&“ kann Visual Studio die Absicht korrekt interpretieren und den nicht standardmäßigen Syntaxfehler vermeiden.

Das obige ist der detaillierte Inhalt vonWarum erfordert Visual Studio 2015 \"&\", um einen Zeiger auf eine Mitgliedsfunktion zu erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn