wieso erkennt er string nicht?



  • Hallo,

    ich bin kräftig am üben aber ständig kommen neue Fehler auf die ich keine Antwort weiß. Hoffe ich könnt mir helfen.

    #include <iostream.h>
    #include <fstream.h>
    #include <string.h>
    using namespace std;

    int main()
    {
    ifstream quelle;
    string quelldateiname;
    cout << "Quelle eingeben: " << endl;
    cin >> quelldateiname;
    return 0;
    }

    hier kommen die Fehlermeldung das "std" nicht existieren oder das es kein namespace ist.
    Dann kommt die Meldung das string ein undeclared identifier sei.

    warum das. er müsste doch durch die headerdatei einbindung von string.h string kennen oder nicht?

    was ist eigentlich namespace??



  • STANDARDHEADER OHNE .H



  • streamilein schrieb:

    warum das. er müsste doch durch die headerdatei einbindung von string.h string kennen oder nicht?

    string steht aber nicht in string.h (wo hast du das her?). iostream.h und fstream.h sind alte Header, die funktionieren immer noch, aber string.h hat noch nie die String-Klasse enthalten. Die neuen (haha, seit fast 7 Jahren) Header haben kein .h-Suffix.

    #include <iostream>
    #include <fstream>
    #include <string>
    

    Versuchs so mal.



  • das hab ich aus einem Buch. naja der microsoft visual will das .h



  • streamilein schrieb:

    das hab ich aus einem Buch. naja welche headerdatei muss ich dann einbinden damit string erkannt wird? Ob mit .h oder ohne ist dem compiler egal.

    Dein Buch und Dein Compiler dürften extrem veraltet sein, <string> sollte funktionieren.
    Was genau verwendest Du denn?



  • also im buch steht es ohne h aber der microsoft visual c++ 6.0 will das .h
    Professor hat auch gemeint das sei von compiler zu compiler unterschiedlich.

    naja ich will eine datei öffnen. und da brauch ich

    string dateiname um in dateiname den richtigen dateinamen zu speichern. so ist es halt laut buch.



  • der microsoft visual c++ 6.0 will das .h

    Was zu bezweifeln wäre.



  • Sag mal, schreib doch einfach mal ohne .h! Und was ist das fürn Prof, bei jedem halbwegs modernen compiler gibt mindestens die header ohne .h!



  • naja bei microsoft visual ist das so.

    wenn ich das .h weglasse bringt er fehlermeldungen und wenn ich .h wieder hinsetze sind sie weg und er kann es ausführen.



  • welche fehlermeldungen bringt er denn?
    auch wenn der vc++6.0 schon alt ist, das konnte er schon gut.



  • streamilein schrieb:

    naja bei microsoft visual ist das so.

    wenn ich das .h weglasse bringt er fehlermeldungen und wenn ich .h wieder hinsetze sind sie weg und er kann es ausführen.

    Komisch bei mir bringt er die nicht. BTW: Dein Professor ist inkompetent, ich tippe auf Informatik-LK? Naja egal, "using namespace std;" unter die Header schreiben dann ist alles wieder wie vorher.

    MfG SideWinder



  • das er mit cout << und viele weiter nix anfangen kann (grob gesagt).



  • denke,wenn du die ersten 10 fehler mal copy pastet,würde sich hier auch niemand aufregen 😉



  • @streamilein: Hab die Antwort bereits gepostet.

    MfG SideWinder



  • SideWinder schrieb:

    @streamilein: Hab die Antwort bereits gepostet.

    schau mal seinen code,d ass hat er drin 😉



  • otze schrieb:

    SideWinder schrieb:

    @streamilein: Hab die Antwort bereits gepostet.

    schau mal seinen code,d ass hat er drin 😉

    Dann hat er es terminiert, aber ich habe den selben Code, den selben Compiler und weit weniger Probleme :p

    MfG SideWinder


Anmelden zum Antworten