Fehler: Erwartete Deklaration oder Anweisung am Ende der Eingabe in c

Lesezeit: 4 Minuten
void mi_start_curr_serv(void){
#if 0
 //stmt
#endif    
}

Ich erhalte in meinem Compiler einen Fehler als “Fehler: Erwartete Deklaration oder Anweisung am Ende der Eingabe”. Ich konnte keinen Fehler mit der obigen Funktion finden. Bitte helfen Sie mir, diesen Fehler zu verstehen.

  • ; (Und ein paar andere Charaktere, die SO glücklich machen)

    – Heiße Licks

    3. Januar 2012 um 4:18 Uhr

  • Wenn das der genaue Code ist, dann keine Ahnung. Das ist eine leere Funktion und sollte ohne Probleme kompiliert werden. Gibt es noch etwas, das Sie nicht zeigen? 😛

    – Ricardo Cárdenes

    3. Januar 2012 um 4:24 Uhr

  • Nun, wenn es mehr Code gibt, werden Sie vielleicht feststellen, dass es einige gibt } fehlt irgendwo…

    – Ricardo Cárdenes

    3. Januar 2012 um 4:27 Uhr

  • Akzeptiert Ihr C-Compiler C99/C++ //...EOL Kommentare? Hast du als letztes Zeichen in der Datei einen Zeilenumbruch?

    – Jonathan Leffler

    3. Januar 2012 um 4:27 Uhr

  • Ich kopiere oft Methodensignaturen und füge sie oben in meinem Code ein, wenn ich vorwärts deklariere. Ich erinnere mich an ein paar Fälle, in denen ich vergessen habe, das ‘{‘ durch ‘;’ zu ersetzen. in der Vorwärtsdeklaration. Vielleicht möchten Sie auch dort nachsehen (für zukünftige Personen, die diesen Beitrag sehen).

    –Wilson

    6. Dezember 2014 um 7:10 Uhr

Benutzeravatar von DRH
DRH

Normalerweise tritt dieser Fehler auf, wenn a } wurde irgendwo im Code übersehen, zum Beispiel:

void mi_start_curr_serv(void){
    #if 0
    //stmt
    #endif

würde mit diesem Fehler aufgrund des Fehlens fehlschlagen } am Ende der Funktion. Der von Ihnen gepostete Code weist diesen Fehler nicht auf, daher stammt er wahrscheinlich von einem anderen Teil Ihrer Quelle.

  • Höchstwahrscheinlich ein Ungleichgewicht } am Ende von main. Andernfalls besteht eine hohe Wahrscheinlichkeit für andere Fehler.

    – Ricardo Cárdenes

    3. Januar 2012 um 4:31 Uhr

  • Danke. Ich habe eine schließende Klammer } in einer anderen Funktion verpasst, die sich auf diese Funktion auswirkte. Danke für den richtigen Hinweis.

    – Angus

    3. Januar 2012 um 4:58 Uhr

  • hatte den gleichen Fehler. Ein zweites Paar „Augen“ ist immer besser, auch wenn sie aus dem Internet kommen!

    – Dio

    21. Dezember 2013 um 9:15 Uhr

  • Für mich war es aus einer Include-Datei, in der ich geschrieben habe void foo(void) { Anstatt von void foo(void); wegen copy-paste…

    – Wald Katsch

    19. Mai 2014 um 23:21 Uhr

  • Richtig ist höchstwahrscheinlich “}”

    Benutzer3402040

    4. Dezember 2016 um 5:07 Uhr

Für mich wurde dieses Problem durch ein fehlendes ) am Ende einer if-Anweisung in einer Funktion verursacht, die von der Funktion aufgerufen wurde, von der der Fehler gemeldet wurde. Versuchen Sie, in der Ausgabe nach oben zu scrollen, um den ersten vom Compiler gemeldeten Fehler zu finden. Das Beheben dieses Fehlers kann diesen Fehler beheben.

Benutzer-Avatar von Wizard of Oz
Der Zauberer von OZ

Sie haben wahrscheinlich einen Syntaxfehler. Du hast höchstwahrscheinlich vergessen, ein einzugeben } oder ; irgendwo oberhalb dieser Funktion.

  • Willkommen bei Stapelüberlauf. Bei mir ist es ziemlich unklar. Können Sie bitte Ihre Antwort bearbeiten, um sie zu verdeutlichen? Bei Bedarf können wir Ihnen bei der Formatierung behilflich sein.

    – Jean-Rémy Revy

    2. August 2016 um 17:04 Uhr

  • Für mich kann ich sagen, dass es ein Fehlen war }, aber nicht auf die Zeilennummer, auf die der Compiler zeigte. Also haben andere das satt.

    – Andi J

    17. August 2018 um 4:32 Uhr

Für mich war es eine fehlende }-Klammer in einer Funktion, die von dem Code aufgerufen wurde, in dem der Fehler gemeldet wurde. Es wurde auch über Code berichtet, der die Funktion aufruft, die die Funktion aufruft, bei der } fehlt. Kann also schwer zu finden sein, wenn Sie nicht wissen, wonach Sie suchen.

Versuchen Sie, a zu platzieren

0 zurückgeben;

am Ende Ihres Codes oder löschen Sie einfach die

Leere

von Ihrer Hauptfunktion hoffe ich, dass ich geholfen habe

Benutzeravatar von Joanderson Gonçalves
Joanderson Gonçalves

Mir ist gerade aufgefallen, dass es mein .h-Archiv mit einem ‘{‘ war. Vielleicht kann das jemandem helfen =)

Benutzeravatar von Petros Boufidis
Petros Boufidis

für jeden, der versucht, ein mpi-Programm auszuführen und den obigen Fehler erhält, indem er die Befehle direkt vor oder nach diesen Symbolen löscht { } scheinen den Trick zu machen.

Ich habe sowohl Kali als auch Ubuntu WSL, in Kali läuft das Programm gut, aber in Ubuntu musste ich die Kommentare löschen, damit das Programm ausgeführt werden konnte

  • Wenn Sie eine neue Frage haben, stellen Sie diese bitte, indem Sie auf die Schaltfläche „Frage stellen“ klicken. Fügen Sie einen Link zu dieser Frage hinzu, wenn dies hilfreich ist, um den Kontext bereitzustellen. – Aus Bewertung

    – Rainald62

    21. Dezember 2021 um 20:15 Uhr

1393950cookie-checkFehler: Erwartete Deklaration oder Anweisung am Ende der Eingabe in c

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy