如果您喜欢C ++编程,那我就是新手或者菜鸟我想尝试使用std::
,因为有人告诉我这是一个好习惯而不是放入using namespace std;
,因为它污染全局命名空间。我不确定为什么std::cin >> name;
在下面的代码中产生错误no operator '>>' matches these operands
以下是完整的源代码。
#include "stdafx.h"
#include <ios>
#include <iostream>
int _tmain(int argc, _TCHAR* argv[])
{
int x, y;
std::string name;
std::cin >> name;
std::cin >> x;
return 0;
}
答案 0 :(得分:5)
你忘了这个:
#include<string>
您正在使用上面标题中定义的std::string
。你需要加入它。
如果您使用标准库中的任何内容,无论是容器还是算法,请确保已包含定义它们的相应标头。标准库有很多头文件,特别是对于容器。作为一般规则,每个容器都在其自己的头文件中定义。
答案 1 :(得分:2)
你忘了
#include <string>
另外
#include <ios>
没有必要。