注册 登录
编程论坛 C++教室

vector类 程序意外终止 求解

ml232528 发布于 2010-04-06 18:16, 707 次点击
#include<iostream>
#include<vector>
#include<algorithm>

using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    vector<int> in(6);
    vector<int>::iterator pt,pt1;

    pt=in.begin();
    in.push_back(100);//怀疑是它

    for(pt;pt!=in.end();pt++)
    {
        cout<<*pt<<"  ";
    }   
    getchar();
    return 0;
}

程序意外终止 求解
5 回复
#2
floppyfuck2010-04-06 20:39
因为你编写的这个程序中的_TCHAR编译器不识别,而你后面怎么又写了个getchar()
#3
yyblackyy2010-04-06 21:00
因为楼主使用了in.push_back(100); 所以以前赋值的 pt=in.begin();变成了无效的了,现在重新赋值 pt=in.begin(); 还有把pt1去掉,省得发出警告
楼主试试吧
#4
floppyfuck2010-04-06 22:10
这个程序编译不过呀?
#5
ml2325282010-04-07 09:52
不好意思 这些代码是从 一大段代码中剔除来的 缺什么头文件 大家加上吧
2楼的回答靠谱 可能是 in.push_back(100) 改变了in.begin()的地址 原来的pt不知道指向哪了;

#6
caolihui10082010-04-08 18:02
修改顺序容器内元素数目后迭代器指向空。所以in.push_back(100)后pt为NULL。
1