Heim  >  Artikel  >  Backend-Entwicklung  >  Wie behebt man den C++-Syntaxfehler: „Initialisierer vor „Token“ erwartet“?

Wie behebt man den C++-Syntaxfehler: „Initialisierer vor „Token“ erwartet“?

WBOY
WBOYOriginal
2023-08-26 21:24:441136Durchsuche

如何解决C++语法错误:'expected initializer before ',' token'?

Wie behebe ich den C++-Syntaxfehler: „Initialisierer vor „Token“ erwartet“?

Bei der C++-Programmierung stoßen wir häufig auf verschiedene Fehlermeldungen, und einer der häufigsten Fehler ist: „Erwarteter Initialisierer vor „Token“. Dieser Fehler weist darauf hin, dass der Compiler irgendwo in einer Codezeile ein Initialisierungssymbol erwartet hat, tatsächlich aber ein Komma vorhanden war. Dieser Fehler kann bei der Variablendeklaration, der Übergabe von Funktionsparametern, der Array-Initialisierung usw. auftreten. In diesem Artikel werden einige häufige Situationen vorgestellt und entsprechende Lösungen gegeben.

  1. Komma erscheint beim Deklarieren von Variablen:
    In C++ können mehrere Variablen in einer Zeile, durch Kommas getrennt, deklariert werden. Zum Beispiel:

    int a, b, c;

    Dieser Fehler tritt auf, wenn beim Deklarieren einer Variablen ein Komma erscheint und die Variable nicht korrekt initialisiert ist. Zum Beispiel:

    int a, b, ;

Lösung: Setzen Sie den Inhalt nach dem Komma auf den entsprechenden Initialisierungswert oder löschen Sie die Variable. Zum Beispiel:

int a, b = 0;

oder:

int a, b;
  1. Komma beim Übergeben von Funktionsparametern:
    Wenn eine Funktion definiert oder deklariert wird und ein Komma in der Parameterliste erscheint, ohne den Parametertyp korrekt zu deklarieren, tritt dieser Fehler auf. Zum Beispiel:

    void foo(int a, , int c) {
     // code
    }

Lösung: Löschen Sie das Komma oder legen Sie den entsprechenden Parametertyp fest. Zum Beispiel:

void foo(int a, int c) {
    // code
}

oder:

void foo(int a, char, int c) {
    // code
}
  1. Komma erscheint während der Array-Initialisierung:
    In C++ können Sie eine Initialisierungsliste verwenden, um ein Array zu initialisieren. Wenn jedoch in der Initialisierungsliste ein Komma erscheint und die Array-Elemente nicht korrekt initialisiert werden, tritt dieser Fehler auf. Zum Beispiel:

    int arr[] = {1, , 3, 4, 5};

Lösung: Entfernen Sie das Komma oder legen Sie den entsprechenden Array-Elementwert fest. Zum Beispiel:

int arr[] = {1, 2, 3, 4, 5};

oder:

int arr[] = {1, 0, 3, 4, 5};
  1. Andere Fälle:
    Zusätzlich zu den Fällen in den obigen Beispielen kann es noch andere Fälle von Grammatikfehlern geben. Beispielsweise erscheint ein Komma, wenn Parameter in einem Funktionsaufruf übergeben werden, ohne dass alle Parameter korrekt übergeben werden:

    foo(1, , 3);

    Alternativ kann der Syntaxfehler in einer bedingten Anweisung auftreten:

    if (x < , y) {
     // code
    }

Lösung: Überprüfen Sie den Code, um jedes Komma sicherzustellen hat die korrekte Verwendung, oder entfernen Sie zusätzliche Kommas.

Zusammenfassung:
Wenn bei der C++-Programmierung der Fehler „erwarteter Initialisierer vor „Token““ auftritt, müssen Sie zunächst den Code sorgfältig überprüfen, um herauszufinden, wo der Fehler auftritt. Ergreifen Sie dann abhängig von den spezifischen Umständen des Fehlers geeignete Lösungen, z. B. das Löschen zusätzlicher Kommas oder das Festlegen entsprechender Initialisierungswerte. Es ist wichtig, die Fehlermeldung des Compilers sorgfältig zu lesen und sie zusammen mit dem Code zu beheben. Durch eine schrittweise Analyse und Korrektur können solche Fehler schließlich behoben und die Qualität und Lesbarkeit des Codes verbessert werden.

Das obige ist der detaillierte Inhalt vonWie behebt man den C++-Syntaxfehler: „Initialisierer vor „Token“ erwartet“?. 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