dev-cpp Fehlermeldung...



  • #include <iostream>
    #include <stdlib.h>
    
    using namespace std;
    
    int main
    {
    int weiter;
    cout<<"Test!"<<endl<<"Taste drücken!"<<endl;
    cin>>weiter;
    return 0;
    }
    

    Beim kompilieren kommen folgende Fehlermeldungen:
    7 C:\Dokumente und Einstellungen\TOM\Eigene Dateien\c++\Projekte\main.cpp syntax error before `{' token

    9 C:\Dokumente und Einstellungen\TOM\Eigene Dateien\c++\Projekte\main.cpp syntax error before `<<' token

    10 C:\Dokumente und Einstellungen\TOM\Eigene Dateien\c++\Projekte\main.cpp syntax error before `>>' token

    C:\Dokumente und Einstellungen\TOM\Eigene Dateien\c++\Projekte\Makefile.win [Build Error] [main.o] Error 1

    Ich hatte ja so meine Problemchen mit dev, habe nun herausgefunden, dass es daran liegt das der beime deinstallien die registry-veränderungen nicht rückgängig gemacht hat! Jedenfalls hab ich nu versucht alle Pfade per hand richtig zu setzen. (Ich schreib das nur weils vielleicht was damit zu tun hat...)
    Hatt jemand ne idee?



  • Du hast nur einen kleinen Fehler gemacht!

    Und zwar hast du nur int main geschrieben, richtig heißt es aber int main().



  • return 0; kannst du dir schenken, und <cstdlib> anstelle <stdlib.h> 😉



  • Juhu, es klappt! (So ein dummer fehler...) Endlich muss ich mich net mehr mit djgpp rumschlagen! Ehrlich gesagt weiß ich weder was die eine noch die andre lib macht, könnte mich mal jemand aufklären? Nochwas: Bei djgpp konnte man ein projekt kompilieren, ohne eine exe zu erstellen... Geht das?



  • Erhard Henkes schrieb:

    return 0; kannst du dir schenken

    Warum? Sollte eine Funktion mit Rückgabetyp int nicht sinnvollerweise auch etwas zurückgeben?



  • Ich glaube das macht der automatisch!



  • ness schrieb:

    Ich glaube das macht der automatisch!

    ist kein Grund es nicht manuell zu tun, gehoert zum guten Stil (und IIRC vom Standard vorgeschrieben)



  • Ich glaube das macht der automatisch!

    Right, Sir! 😉

    ist kein Grund es nicht manuell zu tun, gehoert zum guten Stil

    Da gehen die Meinungen auseinander. Es ist kein Fehler, dieses "return 0;" direkt im Sourcecode einzugeben, aber gemäß C++-Standard überflüssig. Entscheide jeder selbst.



  • Der Standard schreibt aber bei jeder Funktion mit Rückgabewert eine Rückgabe vor... naja, dann ist main eine (unnötige) Ausnahme. btw: Das kann man nicht merken, wenn man return 0; schon immer verwendet hat. 🙂



  • Lies es doch selbst im C++-Standard nach, wenn du mir nicht glaubst:
    INTERNATIONAL STANDARD ISO/IEC 14882, 3.6.1 Main function.


Anmelden zum Antworten