C-Programm lässt sich nicht übersetzen



  • äääh....ist cstdlib nicht für c++?
    nimm #include <stdlib.h> !



  • supertux schrieb:

    ja, Fehlermeldung lesen, verstehen, auf Zeile 23 gehen und gucken, was man da geschrieben hat, korrigieren, neu kompilieren.

    Du möchtest wirklich, dass der TE im Standardheader cstdlib etwas korrigiert?

    @fiore307: cstdlib ist ein C++-Header. Hast du den selbst eingebunden? Falls ja, weg damit, in C heißt das Ding stdlib.h. Falls nicht, finde raus, wer's war.



  • MFK schrieb:

    supertux schrieb:

    ja, Fehlermeldung lesen, verstehen, auf Zeile 23 gehen und gucken, was man da geschrieben hat, korrigieren, neu kompilieren.

    Du möchtest wirklich, dass der TE im Standardheader cstdlib etwas korrigiert?

    da muss ich meine eigene Worte fressen, denn ich hab nur ab Zeilennnummer und Fehlermeldung gelesen.



  • supertux schrieb:

    da muss ich meine eigene Worte fressen, denn ich hab nur ab Zeilennnummer und Fehlermeldung gelesen.

    hihihi



  • Also. In dem Programm selbst wird nirgendwo cstdlib.h eingelesen. Allerdings hatte ich aus einem "#include <iostream.h>" ein "#include <iostream>" gemacht, weil vorher die Fehlermeldung "fatal error C1083: Datei (Include) kann nicht geöffnet werden: "iostream.h": No such file or directory" kam. Wahrscheinlich war das der Fehler. Was kann ich also machen, um das Problem mit iostream.h zu lösen? Muss ich mir die Datei etwa manuell runterladen und in das Verzeichnis schieben?

    Ansonsten werde ich mein Glück jetzt nochmal auf einem Linux-Rechner probieren. Vielleicht funktioniert es mit dem C-Compiler dort ja besser.



  • iostream ist ein C++-Header! Wenn du C programmieren willst, kannst du mit dem genausowenig anfangen wie mit cstdlib...



  • Oh man ihr habt Recht! Das Programm, was ich hier gerade zu übersetzen versuche ist tatsächlich ein C++-Programm. Ich habe das mit einem anderen C-Programm verwechselt. Nachdem ich jetzt den Compiler wieder auf C++ umgestellt habe und aus "iostream.h" überall "iostream" gemacht habe, bekomme ich jetzt allerdings wieder neue Fehlermeldungen. Das liegt scheinbar daran, dass die iostream-Bibliothek geändert wurde (das habe ich zumindest in der Hilfe gelesen).



  • Welche Fehlermeldungen?



  • z.B. kommt bei der Zeile

    template <class T> ostream & operator << (ostream &out, List<T> &list)
    

    Die Fehlermeldung

    1> error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.



  • Sollte "operator <<" nicht zusammengeschrieben werden?



  • Sollte "operator <<" nicht zusammengeschrieben werden?

    Zwischen den Shiftoperatoren ist syntaktisch usw.

    Wollt ihr euch das nicht wo anders ausmachen?



  • So ich hab mein Problem jetzt gelöst, indem ich das Programm auf Linux bzw. unter Verwendung von cygwin übersetze. Da gibt es mit dem iostream.h keine Probleme.

    Vielen Dank für die Hilfe!


Anmelden zum Antworten