运算符>>和<<无法识别

时间:2016-04-16 17:29:27

标签: c++ compiler-errors

我对c ++很陌生,试图抓住它。以下代码是教程的精确副本,其中代码适用于教师。但我的IDE(Visual Studio)返回错误说:

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

我错过了什么?

我的代码

#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;
}

2 个答案:

答案 0 :(得分:5)

你没有这样做:

#include <string>

如果你正在使用std::string,那么你应该总是#include <string>

此外,我使用Visual Studio 2013编写了代码并编译了它,但未包含<string>标头。这是错误:

  

错误C2679:二进制&#39;&gt;&gt;&#39; :找不到哪个操作员需要右手   类型&#39; std :: string&#39;的操作数(或者没有可接受的转换)

答案 1 :(得分:0)

显然,我错了,检查另一个答案。我被G ++欺骗,说代码很好,因为@Joachim说;可能iostream本身包含string

代码很好。检查安装,确保已安装C ++编译器。

正如@FrozenKiwi所说:

  

默认情况下,Visual Studio的最后几个版本中未安装C ++编译器。您需要修改安装以确保安装编译器(即,开始 - &gt;&#34;更改或删除程序&#34; - &gt; Visual Studio - &gt;更改