Heim > Backend-Entwicklung > C++ > Hauptteil

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

Mary-Kate Olsen
Freigeben: 2024-11-03 03:50:02
Original
381 Leute haben es durchsucht

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>
Nach dem Login kopieren

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

<code class="cpp">TicTacToe::&player1Move;</code>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage