VS2010编译报错:vector不是模板

4 篇文章 0 订阅
1 篇文章 0 订阅

使用Vector时,编译报错:vector 不是模板

#include <vector>;

vector<CString> v_Value;			  				编译报错
vector<vector<CString>> v_Results;       		    编译报错

修改为

#include <vector>;
using namespace std;

vector<CString> v_Value;
vector<vector<CString>> v_Results;	

或者

#include <vector>;

std::vector<CString> v_Value;			  
std::vector<std::vector<CString>> vecResults;

原因:list和vector在命名空间std里,需要声明using namespace std;或者std::vector name

既然说到 vector ,那么自然离不开初始化,我一般只用:
1. 不带参数的构造函数初始化

//初始化一个size为0的vector
vector<CString> strTmp;

2. push_back的方式

vector<CString> letter;

letter.push_back("Hello");
letter.push_back("world");

备注:

	vector<int> sum;
	sum[0]=1; X这种不能用下标赋值,只能用push_back()

3. 二维数组

//[[1,2],[3,4],[5,6],[7,8]]
vector<vector<int>> intArray;

具体请参考以下方式:

vector的几种初始化及赋值方式
vector的初始化方式及用法笔记

要想用好vector,必须要掌握的几种常见用法,一般情况下只需要掌握以下用法:

1. v.size()  							获取容器的元素个数
2. v.empty()	      					判断容器是否为空():为空返回true,为假返回false	
2. v.push_back()						尾部添加一个元素()	
3. v.pop_back()							尾部删除一个元素
4. v.at()								获取对应位置的元素
5. v.insert()							元素的插入
6. v.erase()							删除元素
// 删除第一个元素
v1.erase(v1.begin());

// 删除第一个到第三个元素
v1.erase(v1.begin(), v1.begin() + 3);
7. v1.clear()							删除所有元素

具体用法请参照:

vector 容器的常用用法

为什么要使用vector呢,谁用谁知道,也建议大家去学习下其他容器,总有你想用并能用的:

C++中STL常用容器的优点和缺点

https://blog.csdn.net/yjunyu/article/details/77728410
https://www.cnblogs.com/cyq-ll/p/12503564.html
https://blog.csdn.net/cpp_learner/article/details/104589416/
https://www.cnblogs.com/steamedbun/p/9376403.html

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值