C++ STL新手问题 无法添加LIST到项目中
#include<list>list<int>Backpack;报错如下:figure.h(36):errorC2143:语法错误:缺少“;”(在“<”的前面)figur...
#include <list>
list<int> Backpack;
报错如下:
figure.h(36): error C2143: 语法错误 : 缺少“;”(在“<”的前面)
figure.h(36): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
figure.h(36): error C2238: 意外的标记位于“;”之前 展开
list<int> Backpack;
报错如下:
figure.h(36): error C2143: 语法错误 : 缺少“;”(在“<”的前面)
figure.h(36): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
figure.h(36): error C2238: 意外的标记位于“;”之前 展开
1个回答
展开全部
你好,你的问题仅仅是很简单的没有命名空间前缀,"std::", 简单将你列出的第2行,改成“std::list<int> Backpack;”就行了。
头文件里定义的标识符是“std::list”,而不是“list”,后者不是模板类的定义,所以不能和尖括号连用,报第一个错C2143。同时当假定list是一个变量后,发现前面没类型定义,就报告了第2个错C4430。 我的编译器vs2013不会报告你的第3个错。
在cpp文件里,你可以在所有#include之后,加入一行“using namespace std;”,来避免重复输入"std::"前缀; 如果你全cpp只用<list>,也可以只输入“using std::list;”
头文件里定义的标识符是“std::list”,而不是“list”,后者不是模板类的定义,所以不能和尖括号连用,报第一个错C2143。同时当假定list是一个变量后,发现前面没类型定义,就报告了第2个错C4430。 我的编译器vs2013不会报告你的第3个错。
在cpp文件里,你可以在所有#include之后,加入一行“using namespace std;”,来避免重复输入"std::"前缀; 如果你全cpp只用<list>,也可以只输入“using std::list;”
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询