0

如果您在 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;
}
4

2 回答 2

5

你忘了这个:

#include<string>

您正在使用std::string上面标题中定义的。你需要包括它。

如果您使用标准库中的任何内容,无论是容器还是算法,请确保您已包含定义它们的适当标头。标准库有很多头文件,尤其是容器。作为一般规则,每个容器都在其自己的头文件中定义。

于 2013-01-06T17:52:47.967 回答
2

你忘了

#include <string>

#include <ios>

没有必要。

于 2013-01-06T17:53:19.170 回答