Heim > Backend-Entwicklung > C++ > Hauptteil

Warum erhalte ich in meinem C-Code den Fehler „Nicht standardmäßige Syntax'?

Barbara Streisand
Freigeben: 2024-11-02 01:25:30
Original
727 Leute haben es durchsucht

Why Am I Getting a

Den Fehler „Nicht-Standard-Syntax“ verstehen

Beim Schreiben von Code in C stoßen Programmierer häufig auf Fehler wie „Nicht-Standard-Syntax“. Dieser Fehler tritt auf, wenn eine Operation mit einer Syntax ausgeführt wird, die von der C-Sprache nicht offiziell anerkannt wird.

Problem: Fehlender Member-Funktionszeiger

In Ihrem speziellen Fall stammt der Fehler aus dem folgenden Code :

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

Hier ist die Funktion „player1Move“ eine Mitgliedsfunktion der TicTacToe-Klasse. Der Funktionsname wird jedoch als einzelner Ausdruck verwendet, ohne dass die Funktionsaufrufsyntax aufgerufen wird. Gemäß C-Konventionen ist dies für Mitgliedsfunktionen falsch.

Lösung: Verwendung des Address-of-Operators

Um einen Zeiger auf eine Mitgliedsfunktion korrekt zu erhalten, müssen Sie den Address-of-Operator verwenden Operator (&). Dieser Operator erstellt einen Verweis auf den Speicherort der Funktion, sodass wir indirekt auf die Funktion zugreifen können.

Die Korrektur Ihres Codes lautet:

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

Mit dieser Änderung kann die Funktion „player1Move“ ausgeführt werden von anderen Teilen des Programms mithilfe der korrekt aufgerufen werden. Operator, etwa so:

<code class="cpp">TicTacToe Board;
Board.player1Move("1");</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in meinem C-Code den Fehler „Nicht standardmäßige Syntax'?. 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