Bei der Arbeit mit Memberfunktionen in C ist dies der Fall Es ist von entscheidender Bedeutung, die richtige Syntax zu verwenden, um darauf zuzugreifen. Der Fehler „Nicht standardmäßige Syntax; verwenden Sie ‚&‘, um einen Zeiger auf ein Mitglied zu erstellen“ tritt auf, wenn versucht wird, einen Mitgliedsfunktionsnamen direkt als Funktionszeiger zu verwenden.
In C kann eine Nicht-Member-Funktion ohne zusätzliche Syntax als Funktionszeiger verwendet werden. Beim Umgang mit Mitgliedsfunktionen ist die direkte Verwendung des Mitgliedsfunktionsnamens ohne die Funktionsaufrufsyntax jedoch ungültig. Stattdessen müssen Sie den &-Operator verwenden, um einen Zeiger auf die Member-Funktion zu erhalten.
Betrachten Sie beispielsweise die folgende Nicht-Member-Funktion:
<code class="cpp">void foo() { // Function body }</code>
In diesem Fall ist dies möglich Verwenden Sie den Namen der Foo-Funktion direkt in einem Ausdruck wie diesem:
<code class="cpp">foo; // Evaluates to a function pointer</code>
Betrachten Sie nun eine Mitgliedsfunktion innerhalb einer Struktur:
<code class="cpp">struct Bar { void baz() { // Function body } };</code>
Versuch, den Namen der Baz-Mitgliedsfunktion direkt in einem zu verwenden Ausdruck ohne die Funktionsaufrufsyntax führt zu einem Compilerfehler. Stattdessen müssen Sie den &-Operator verwenden, um einen Zeiger auf die Mitgliedsfunktion zu erhalten:
<code class="cpp">&Bar::baz; // Valid</code>
In Ihrer TicTacToe.cpp-Datei definieren Sie zwei Mitglieder Funktionen, player1Move und player2Move, die den Fehler auslösen, mit dem Sie konfrontiert sind. Der richtige Weg, diese Funktionen zu definieren, besteht darin, den &-Operator wie folgt zu verwenden:
<code class="cpp">// Corrected version of player1Move void TicTacToe::player1Move(string coordX) { cout << "Enter X: " << endl; cin >> coordX; _coordX = coordX; }</code>
<code class="cpp">// Corrected version of player2Move void TicTacToe::player2Move(string coordX) { cout << "Enter X: " << endl; cin >> coordX; _coordX = coordX; }</code>
Durch diese Änderungen beseitigen Sie den Fehler „nicht standardmäßige Syntax“ und ermöglichen Ihrem Programm dies Greifen Sie korrekt auf die Mitgliedsfunktionen zu.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich in Visual Studio 2015 den Fehler „Nicht standardmäßige Syntax; verwenden Sie \'&\', um einen Zeiger auf ein Mitglied zu erstellen'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!