Befehl nicht erkannt!



  • XieXie schrieb:

    @Caipi

    Das Englisch übersetzen kann ich auch aber ich finde die Fehler nicht...also wenn du mir jetzt noch sagst wo das sein soll mit dem ";"???

    Habe ich das Englische übersetzt? 😕
    So schlecht ist mein Englisch auch wieder nicht ;).

    Hast du den (Syntax)-Fehler inzwischen gefunden? Wenn nein. Du weißt ja jetzt in welcher Zeile der Compiler den (ersten) Fehler meldet. Desweiteren habe ich dir ja mitgeteilt, dass dort ein schließendes " fehlt.

    Die Compilerfehler resultieren daraus. Du musst wissen, dass ein Compiler nur ein Programm ist, was nach vorgegebenen Routinen versucht, die Quelle des Fehlers zu finden. Diese ist aber anhand dieser Routinen nicht immer genau zu spezifizieren, weswegen der Compiler teilweise 'ungenaue' Fehlermeldungen ausgibt.

    Der g++ gibt im Gegensatz zum MSV die folgende Fehler-Meldung aus, die in diesem Falle genauer ist.

    C:\code\cpp\test.cpp In function `int main()': 
    12 C:\code\cpp\test.cpp missing terminating " character
    

    Caipi



  • Naja in Englisch steht dort da:

    missing ';' before identifier 'cout'

    übersetzt: fehlendes ';' vor cout

    ...deswegen habe ich nach einem fehlenden ; gesucht und nun sagst du mir ich hab ein " vergessen........fazit: das Programm gibt mir nen Fehler falsch an????-so ein Blödsinn wie soll man denn da Fehler finden?

    Na gut jetzt funktioniert es.........

    Danke! Ich meld mich bestimmt bald wieder .........gg 😃



  • XieXie schrieb:

    ...deswegen habe ich nach einem fehlenden ; gesucht und nun sagst du mir ich hab ein " vergessen........fazit: das Programm gibt mir nen Fehler falsch an????-so ein Blödsinn wie soll man denn da Fehler finden?

    Es ist nicht Aufgabe des Compilers, Fehler in deinem Code zu finden. Wenn er das könnte, könnte er die Fehler ja auch gleich beheben -> Du wärest arbeitslos. Der Compiler teilt dir nur mit, wo bei der Verarbeitung deines Codes Fehler aufgetreten sind. Deswegen ist ein Programm ja auch nicht fehlerfrei, nur weil der Compiler nichts mehr findet 😉

    Du solltest dir auch angewöhnen, immer nur die erste Fehlermeldung zu beachten. Es kann vorkommen, dass der Compiler durch den ersten Fehler durcheinanderkommt, und die nachfolgenden Meldungen gar nicht stimmen, und verschwinden, wenn du den ersten Fehler behebst. Darum ist auch die Anzahl der gemeldeten Fehler keine besonders aussagekräftige Größe.

    Und die erste Fehlermeldung ist ja korrekt: "newline in constant" bedeutet soviel wie ein Zeilenumbruch in einer (Zeichenketten-)Konstante.



  • XieXie schrieb:

    so ein Blödsinn wie soll man denn da Fehler finden?

    😃 da kannst du dich als angehender c/c++-programmierer gleich dran gewöhnen 😃

    c/c++-compiler-fehlermeldungen sind eigentlich immer müll. die erste fehlermeldung ist noch mehr oder weniger aussagekräftig. die restlichen fehlermeldungen sind in der regel unsinn und entstehen dadurch, daß der compiler wegen des ersten syntaxfehlers aus dem tritt gekommen ist und den rest des programms total falsch versteht.



  • MFK schrieb:

    Es ist nicht Aufgabe des Compilers, Fehler in deinem Code zu finden.

    ohne worte 🤡



  • Was soll daran komisch sein?



  • ok........also immer nur auf mich verlassen und nicht auf den Compiler, verstehe.......und viel Geduld aufbringen.... 😃 Ist nur schwierig, wenn man nur html gewöhnt war und nun sich in die Zeichenfolge reinzufitzen und zu erkennen wo man welches Zeichen setzen muss.....da ist html wesentlich übersichtlicher....

    Danke erstmal... 👍

    LG Xie



  • hm, ich versteh' nicht ganz, was an:

    missing ';' before identifier 'cout'
    

    mißzuverstehen ist. In der Zeichenkette in der Zeile dadrüber wird ein "String" begonnen, aber nicht abgeschlossen, woduruch das ";" am Ende Bestandteil der Zeichenkette geworden ist. In der neuen Zeile kommt dann das cout, wodurch die Meldung doch vollkommen richtig ist. Oder? 😕



  • mantiz schrieb:

    hm, ich versteh' nicht ganz, was an:

    missing ';' before identifier 'cout'
    

    mißzuverstehen ist. In der Zeichenkette in der Zeile dadrüber wird ein "String" begonnen, aber nicht abgeschlossen, woduruch das ";" am Ende Bestandteil der Zeichenkette geworden ist. In der neuen Zeile kommt dann das cout, wodurch die Meldung doch vollkommen richtig ist. Oder? 😕

    Ja!

    mfg
    v R



  • ja, das Problem war aber das ein " gefehlt hatte und nicht ein ; ...

    LG Xie


Anmelden zum Antworten