在我的文件 main.h 的顶部,我有:
#include <vector>
class Blah
{
public:
Blah(){}
~Blah(){}
protected:
vector<int> someVector;
public:
//methods
};
当我尝试编译时,向量声明行会给出错误:
错误C2143:语法错误:缺少';'在'&lt;'
之前错误C4430:缺少类型说明符 - 假设为int。注意:C ++不支持default-int
错误C2238:';'
之前的意外标记
我无法弄清楚造成这种情况的原因。有谁看到我做错了什么?
答案 0 :(得分:7)
vector
类是std
命名空间的一部分。您需要用std::vector<int>
替换您的声明。
答案 1 :(得分:3)
它位于std
命名空间:
std::vector<int> someVector;
答案 2 :(得分:2)
vector是 std命名空间的一部分,因此您需要在声明中添加std::
:
std::vector<int> someVector;
由于该建议是在另一个答案中提出的,我还想阻止使用using namespace std
,因为它是considered bad practice