hmm was ist da los?



  • also entweder steh ich heute wirklich gehörig aufm schlauch,oder irgendein gott hast mich.

    (man verzeih mir den code der nun folgt,das ist mein: finde den fehler code 😃 )

    #include <String.h>//beide files um sicherzugehen,dass ich mich nich mitm header irre
    #include <iostream.h>
    
    int main(){
    string bla="xxx";
    return 0;
    }
    

    error C2065: 'string' : undeclared identifier.
    soweit ich mich erinner, bindet string.h/iostream.h alles ein, was mit strings zu tun hat,der builder packt das ohne probleme,aber wieso kann vc++ das nicht?



  • String.h ist der C-Header...

    #include <string>
    


  • Also bei mir funzt das auch ohne #include <string> oder #include <String.h>
    dann lasse ich das .h weg und setzte ein std:: davor und es geht.

    #include <iostream>
    
    int main(){
    	std::string bla="xxx";
    return 0;
    }
    


  • Es muss #include <string> heißen. Dass <iostream> auch <string> einbindet, muss nicht auf allen Plattformen so sein.
    Man sollte immer die richtigen Header einbinden.



  • Aber der namespace ist wichtig, oder??
    Ich habe es ohne auf jeden Fall egal mit welchen includes nicht compiliert bekommen.



  • Entyl_Sa schrieb:

    Aber der namespace ist wichtig, oder??
    Ich habe es ohne auf jeden Fall egal mit welchen includes nicht compiliert bekommen.

    natürlich, ohne namespace läuft es net


Anmelden zum Antworten