2016-04-16 30 views
0

Ich bin sehr neu in C++ und versuche, einen Hang davon zu bekommen. Der folgende Code ist eine exakte Kopie eines Lernprogramms, in dem der Code für den Tutor verwendet wird. Aber meine IDE (Visual Studio) gibt einen Fehler zurück, der sagt:Operator >> und << nicht erkannt

Error: No operator ">>" matches these operands. 
Error: No operator "<<" matches these operands. 

Was vermisse ich?

My-Code

#include <iostream> 

using namespace std; 

int main() { 

    cout << "Enter you name" << flush; 

    string input; 
    cin >> input; //Error as above message 

    cout << "your name is " << input << endl; //Error message on the << operator before input 

    cin.get(); 

    return 0; 
} 
+3

Sie zu tun fehlen ** # include ** –

Antwort

4

Du hast dies nicht tun:

#include <string>

Wenn Sie std::string verwenden, dann sollten Sie immer <string> # include.

Auch ich nahm Ihren Code und kompilierte es mit Visual Studio 2013 ohne die <string> Header enthalten. Hier ist der Fehler:

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

+0

Sein Code geht gut wie es Ist also etwas anderes das Problem. – totoro

+0

Sein Code ist * nicht * in Ordnung. Die 'Operator >>' und 'Operator <<' Definitionen für 'std :: string' sind mehr als wahrscheinlich in der' 'Header implementiert, was das OP nicht einschloss – PaulMcKenzie

+0

@Tomomschristensen Wie funktioniert dieser Code so gut wie? Er verwendet std :: string ohne . –

0

Natürlich, ich war falsch, die andere Antwort überprüfen. Ich wurde von g ++ ausgetrickst und gesagt, dass der Code in Ordnung sei, da @Joachim sagte; es könnte sein, dass iostream von sich selbst enthalten string.


Der Code ist in Ordnung. Überprüfen Sie Ihre Installation, stellen Sie sicher, dass der C++ - Compiler installiert ist.


Wie @FrozenKiwi sagte:

by default, the C++ compiler is not installed in the last few versions of Visual Studio. You need to modify the installation to ensure the compilers are installed (ie, start -> "Change or Remove a program" -> Visual Studio -> Change

+1

Nur um dies zu addieren - standardmäßig die C++ Compiler ist nicht in den letzten Versionen von Visual Studio installiert. Sie müssen die Installation ändern, um sicherzustellen, dass die Compiler installiert sind (zB Start -> "Ändern oder Entfernen eines Programms" -> Visual Studio -> Ändern – FrozenKiwi

+0

Vielen Dank @FrozenKiwi, ich aktualisierte meine Antwort. – gsamaras

Verwandte Themen