尝试使用向量时出错

时间:2013-04-04 01:35:43

标签: c++ visual-studio-2010 vector stl

在我的文件 main.h 的顶部,我有:

#include <vector>

class Blah
{
  public:
    Blah(){}
    ~Blah(){}
  protected:
    vector<int> someVector;
  public:
    //methods
};

当我尝试编译时,向量声明行会给出错误:

  

错误C2143:语法错误:缺少';'在'&lt;'

之前      

错误C4430:缺少类型说明符 - 假设为int。注意:C ++不支持default-int

     

错误C2238:';'

之前的意外标记

我无法弄清楚造成这种情况的原因。有谁看到我做错了什么?

3 个答案:

答案 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