c++ vector subscript of range
2012-06-15 13:11 youxin 阅读(377) 评论(0) 收藏 举报新手经常写这样的代码:
#include<iostream> #include<string> #include<vector> using namespace std; void main() { vector<string> a; a[0]="aaaaaa"; a[1]="xxxxxx"; cout<<a.size()<<endl; }
错误很明显,没有开辟空间就直接放东西了。可以用push_back() 或resize()来解决。
vector<string> s;
s.erase(s.end()-1);
上面的代码也会出现offset out of range.
因为s为空,s.end()-1指向的不是一个有效的迭代器。
浙公网安备 33010602011771号