øFehler in Schleife◘



  • hi
    könnt mir bitte ihe sagen,wo der fehler liegt und warum?

    std::string passwort, pass_r = "HHHH", mail, name;
    	cout<<"Passwort bitte eingeben: ";
    	cin>>passwort;
    	do
    	{
    		cout<<"Passwort erneut eingeben: ";
    		cin>>passwort;
    
    	} while(passwort != pass_r);
    

    1>------ Erstellen gestartet: Projekt: Test_cpp, Konfiguration: Debug Win32 ------
    1>Kompilieren...
    1>Test_cpp.cpp
    1>XX:\XXX\XXXX\test_cpp\test_cpp\test_cpp.cpp(11) : error C2679: Binärer Operator '>>': Es konnte kein Operator gefunden werden, der einen rechtsseitigen Operanden vom Typ 'std::string' akzeptiert (oder keine geeignete Konvertierung möglich)

    mfg



  • meiner Meinung nach kansch du mit cin nicht sachen in string reinhauen da string kein >> operator hat.

    [cpp]  std::string passwort, pass_r = "HHHH", mail, name;
        cout<<"Passwort bitte eingeben: ";
        cin>>passwort;
        do
        {
            cout<<"Passwort erneut eingeben: ";
            char* apasswort;
            cin>>apasswort;
           passwort = apasswort;
    
        } while(passwort != pass_r);
    [/cpp]
    

    So dürfts gehen 😉



  • kaffee schrieb:

    meiner Meinung nach kansch du mit cin nicht sachen in string reinhauen da string kein >> operator hat.

    [cpp]  std::string passwort, pass_r = "HHHH", mail, name;
        cout<<"Passwort bitte eingeben: ";
        cin>>passwort;
        do
        {
            cout<<"Passwort erneut eingeben: ";
            char* apasswort;
            cin>>apasswort;
           passwort = apasswort;
               
        } while(passwort != pass_r);
    [/cpp]
    

    So dürfts gehen 😉

    Quatsch !!! 🙂

    Hastdu auch alle includes drin, die nötig sind ?
    (Nebenbei: Überdenk nochmal was beim start passiert, obwohl du es ja nach der Fehlerbeseitigung schon merken wirst 😉 )



  • oh sry stimmt war totaler Müll aber ich kenn mich mit string nicht so aus hab selbst ne text klasse für zeichenketten geschrieben viel besser als string *g*



  • TestO0 schrieb:

    hi
    könnt mir bitte ihe sagen,wo der fehler liegt und warum?

    std::string passwort, pass_r = "HHHH", mail, name;
    	cout<<"Passwort bitte eingeben: ";
    	cin>>passwort;
    	do
    	{
    		cout<<"Passwort erneut eingeben: ";
    		cin>>passwort;
    		
    			
    	} while(passwort != pass_r);
    

    1>------ Erstellen gestartet: Projekt: Test_cpp, Konfiguration: Debug Win32 ------
    1>Kompilieren...
    1>Test_cpp.cpp
    1>XX:\XXX\XXXX\test_cpp\test_cpp\test_cpp.cpp(11) : error C2679: Binärer Operator '>>': Es konnte kein Operator gefunden werden, der einen rechtsseitigen Operanden vom Typ 'std::string' akzeptiert (oder keine geeignete Konvertierung möglich)

    mfg

    wenn du std::string schreibst nehme ich an dass du das namespace std nicht eingebunden hast demnach muss es auch **std::**cout und **std::**cin heißen hoffe das hilft dir

    mfg Digger



  • std::cout << "Passwort: " << std::flush;
    std::string password;
    do {
        std::getline(std::cin, password);
    } while (password != "my_pw");
    

    ... was soll daran nicht gehen?



  • kaffee schrieb:

    oh sry stimmt war totaler Müll aber ich kenn mich mit string nicht so aus hab selbst ne text klasse für zeichenketten geschrieben viel besser als string *g*

    Also das glaube ich erst, wenn ich es sehe 😉



  • kaffee schrieb:

    oh sry stimmt war totaler Müll aber ich kenn mich mit string nicht so aus hab selbst ne text klasse für zeichenketten geschrieben viel besser als string *g*

    Ähh - das halte ich für sehr unwahrscheinlich, wenn Du std::string nicht kennst.
    std::string ist beileibe nicht optimal, aber Vieles ist auch nicht schlecht und "das Schlechte" erkennt man IMO eigentlich erst, wenn man sich länger mit std::string beschäftigt hat....

    Gruß,

    Simon2.


Anmelden zum Antworten