"String" Wird nicht angenommen



  • Guten Tag,

    ich arbeite seit ein paar Monaten mit C#.
    Nun dachte ich mir, dass ich mich mal an C++ setze, da diese Sprache ja nicht sonderlich anders ist - ich war überrascht - noch weniger Unterschiede, als ich eigentlich dachte.

    So,um mir den ein-/umstieg auf C++ möglichst einfach zu gestalten habe ich mich mal hingesetzt und ein paar Kapitel von Video2Brain angeguckt. - Diese habe ich auch erfolgreich "nachgebaut". - War nicht sonderlich schwierig.
    Ich habe viele Dinge dazugelernt.

    Nun bin ich an dem Punkt, bei dem ich ein Datenobjekt mit dem Typ "string" deklarieren soll. - in C# kein Problem, aber hier...
    Als ich den Code fertiggeschrieben habe, bekam ich direkt eine freudige Fehlermeldung, die wiefolgt aussah:

    "Error 1 error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'std::string' (or there is no acceptable conversion)"

    Selbstverständlich habe ich direkt die Suche benutzt. - Diese half mit aber nicht sonderlich weiter.

    Ich habe also folgenden Fehler:
    Das Datenobjekt, mit dem Typ String wurde nicht deklariert. - Aber warum?

    (Den oben genannten Fehler bekomme ich in der Zeile, bei der das Objekt ausgegeben werden soll. - Kann es aber nicht, da es in den Augen des Kompilers nicht deklariert wurde.)

    Nun zu meiner Frage:
    Warum "nimmt" er String nicht an?

    Hier der Code:

    // strings1.cpp : Defines the entry point for the console application.
    //
    
    #include "stdafx.h"
    #include <iostream>
    using namespace std; 
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	string vorname = "sebastian";
    
    	cout << "Mein Vorname ist " << vorname <<endl;
    
    	return 0;
    }
    

    Vielen Dank für die Hilfe schonmal.... 😉

    MfG
    Hoamer



  • Hoamer schrieb:

    Nun dachte ich mir, dass ich mich mal an C++ setze, da diese Sprache ja nicht sonderlich anders ist - ich war überrascht - noch weniger Unterschiede, als ich eigentlich dachte.

    Sorry, aber so ein Schwachsinn. Bis auf die Syntax haben diese beiden Sprachen quasi gar nichts miteinander zu tun.

    Zum Fehler: #include <string> .



  • ich meine ja den Syntax 😃

    k, aber dankeschön!



  • oder einfach:

    #include <iostream>
    
    int main()
    {
        std::cout << "Mein Vorname ist \"Sebastian\"!" << std::endl;
    }
    

    ... macht afaik das selbe 😉



  • Stimmt, da hast du recht.
    Aber ein kleiner Minuspunkt ist da schon - Es muss immer ein std:: davor geschriebene werden... 😉

    Nochmals vielen Dank!



  • Ich denke er wollte darauf hinaus dass der Name direkt in der Ausgabe steht

    std::cout << "Mein Vorname ist \"Sebastian\"!" << std::endl;
    

    und nicht auf den namespace
    die std stehen da nur weil er eben nicht angibt dass er generell den namespace std verwendet...
    sowie du mit using namespace std...


Anmelden zum Antworten