在我的文件 main.h 的顶部,我有:
#include <vector>
class Blah
{
public:
Blah(){}
~Blah(){}
protected:
vector<int> someVector;
public:
//methods
};
当我尝试编译时,vector声明行给出错误:
错误C2143:语法错误:在“<”之前缺少“;”
错误C4430:缺少类型说明符-假定为int。注意:C++不支持default-int
错误C2238:'之前有意外的标记;”
我不知道是什么引起的。有人知道我哪里做错了吗?
4条答案
按热度按时间dpiehjr41#
vector
类是std
命名空间的一部分。您需要将声明替换为std::vector<int>
。9w11ddsr2#
它位于
std
命名空间中:std::vector<int> someVector;
xoshrz7s3#
vector是 *std命名空间 * 的一部分,因此您需要将
std::
添加到声明中:由于这个建议是在另一个答案中提出的,所以我也不想使用
using namespace std
,因为它是considered bad practicexcitsw884#
而不是使用,
std::vector;
总是尝试使用,
使用命名空间std;
因为它会帮助你不要一次又一次地输入'std::',而且它不被认为是一种好的做法。