Heim >Backend-Entwicklung >C++ >Wie behebt man den C++-Syntaxfehler: „Erwarteter Primärausdruck vor „,' Token'?

Wie behebt man den C++-Syntaxfehler: „Erwarteter Primärausdruck vor „,' Token'?

WBOY
WBOYOriginal
2023-08-25 19:30:3714932Durchsuche

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

Wie behebt man den C++-Syntaxfehler: „Erwarteter Primärausdruck vor „,“ Token“?

Übersicht:
Beim Schreiben von C++-Code treten manchmal verschiedene Fehler auf. Einer davon ist „erwarteter Primärausdruck vor ‚,‘ Token“ (fehlender Primärausdruck vor dem Komma). Dieser Fehler wird normalerweise während der Kompilierung erkannt und weist darauf hin, dass ein gültiger Ausdruck fehlt.

In diesem Artikel wird die Ursache dieses Fehlers untersucht und einige Problemumgehungen und Codebeispiele aufgeführt.

Ursache:
Dieser Fehler hängt normalerweise mit der Grammatik zusammen. Es zeigt, dass wir irgendwo im Programm ein Komma setzen, wo kein Komma benötigt wird. Der C++-Compiler geht davon aus, dass das Komma zwischen zwei Ausdrücken stehen sollte. Wenn wir also keinen Ausdruck vor dem Komma haben, wird dieser Fehler ausgegeben.

Lösung:
Hier sind ein paar gängige Lösungen, die Ihnen bei der Lösung dieses Problems helfen:

  1. Überprüfen Sie, wo das Komma verwendet wird:
    Zuerst sollten wir herausfinden, wo der Fehler auftritt. Wir müssen den Code vor und nach den Kommas sorgfältig prüfen, um sicherzustellen, dass Kommas nur zwischen Ausdrücken erscheinen und dass jedem Komma ein gültiger Primärausdruck vorangestellt ist.
  2. Falscher Funktionsaufruf:
    Bei Funktionsaufrufen werden häufig Kommas zur Trennung von Parametern verwendet. Dieser Fehler wird ausgelöst, wenn wir in einem Funktionsaufruf ein Komma verwenden, ohne gültige Argumente anzugeben.

Zum Beispiel:

void foo(int x, int y) {
    // 函数体
}

int main() {
    int a = 1;
    foo(a, ); // 此处缺少有效的参数
    return 0;
}

Im obigen Beispiel haben wir vergessen, beim Aufruf der Funktion foo einen gültigen Ausdruck für das zweite Argument anzugeben. Dies führt dazu, dass der Compiler den Fehler „Erwarteter Primärausdruck vor „,“-Token“ meldet.

Um dieses Problem zu lösen, müssen wir gültige Ausdrücke für alle Parameter im Funktionsaufruf bereitstellen.

  1. Fehlender Operand:
    In einigen Fällen vergessen wir möglicherweise, vor dem Komma einen gültigen Ausdruck für den Operanden anzugeben. Beispielsweise wird in einer Zuweisung oder einem Operatorausdruck ein Komma verwendet, um die einzelnen Operanden zu trennen.

Zum Beispiel:

int main() {
    int a, b;
    a = , b; // 此处缺少有效的表达式
    return 0;
}

Im obigen Beispiel haben wir vergessen, vor dem Komma einen Zuweisungsausdruck für a anzugeben. Dies führt dazu, dass der Compiler den Fehler „Erwarteter Primärausdruck vor ‚,‘-Token“ meldet.

Um dieses Problem zu lösen, sollten wir vor dem Komma einen gültigen Ausdruck für den Operanden angeben.

Codebeispiele:
Hier sind einige Codebeispiele, die zeigen, wie der Fehler „Erwarteter Primärausdruck vor ‚,‘-Token“ behoben wird.

Beispiel 1: Fehler im Funktionsaufruf beheben

void foo(int x, int y) {
    // 函数体
}

int main() {
    int a = 1;
    int b = 2;
    foo(a, b); // 修复函数调用错误,为所有参数提供有效的表达式
    return 0;
}

Beispiel 2: Fehler des fehlenden Operanden beheben

int main() {
    int a = 1;
    int b = 2;
    a = a + 1, b; // 修复缺少操作数的错误,给逗号之前的操作数提供有效的表达式
    return 0;
}

Zusammenfassung:
Bei der C++-Programmierung können verschiedene Syntaxfehler auftreten. Das Verstehen und Beheben dieser Fehler ist ein wichtiger Schritt, um ein besserer Programmierer zu werden. In diesem Artikel wird erläutert, wie der C++-Syntaxfehler „Primärausdruck vor ','-Token erwartet“ behoben wird, und es werden einige Codebeispiele für Funktionsaufrufe und Operanden bereitgestellt.

Ich hoffe, dieser Artikel hilft Ihnen bei der Lösung dieses Problems. Viel Spaß beim Programmieren!

Das obige ist der detaillierte Inhalt vonWie behebt man den C++-Syntaxfehler: „Erwarteter Primärausdruck vor „,' Token'?. 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