c++ 尝试使用向量时出错

xpcnnkqh  于 2023-05-08  发布在  其他
关注(0)|答案(4)|浏览(191)

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

#include <vector>

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

当我尝试编译时,vector声明行给出错误:
错误C2143:语法错误:在“<”之前缺少“;”
错误C4430:缺少类型说明符-假定为int。注意:C++不支持default-int
错误C2238:'之前有意外的标记;”
我不知道是什么引起的。有人知道我哪里做错了吗?

dpiehjr4

dpiehjr41#

vector类是std命名空间的一部分。您需要将声明替换为std::vector<int>

9w11ddsr

9w11ddsr2#

它位于std命名空间中:
std::vector<int> someVector;

xoshrz7s

xoshrz7s3#

vector是 *std命名空间 * 的一部分,因此您需要将std::添加到声明中:

std::vector<int> someVector;

由于这个建议是在另一个答案中提出的,所以我也不想使用using namespace std,因为它是considered bad practice

xcitsw88

xcitsw884#

而不是使用,
std::vector;
总是尝试使用,
使用命名空间std;
因为它会帮助你不要一次又一次地输入'std::',而且它不被认为是一种好的做法。

相关问题