首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VC >

vector push_back出错(release版本),该如何处理

2012-02-23 
vector push_back出错(release版本)如题,我这个vector当作函数参数传入,在函数体内push_back,debug版本正

vector push_back出错(release版本)
如题,我这个vector当作函数参数传入,在函数体内push_back,debug版本正常,release版本出现异常
函数如下
void function(vector<int *> *list)
{
int *pInt=new int;
list->pushback(pInt);
}

[解决办法]
估计是list参数错误,看看是怎么来的。
[解决办法]
估计不是这个地方错,看程序崩溃在哪
[解决办法]

探讨
我传list这个指针进来,release版本地址怎么是零的,郁闷,debug有地址

[解决办法]
探讨
我传list这个指针进来,release版本地址怎么是零的,郁闷,debug有地址

[解决办法]
release版本在调试的时候不能正常显示数据信息。
[解决办法]
我觉得你这个地方使用的就有问题。
void function(vector <int *> *list) 

int *pInt=new int; 
list->pushback(pInt); 
}
完全可以这么写
void function(vector <int>& list) 
// sizeof(int) == sizeof(point),而且这样写你还不用考虑内存泄漏的问题,否则在释放vector之前你还要主动释放in*指向的内存。

list.pushback(sizeof(int));
}

最好是把你调用的地方的代码给发出来这样才能看出来问题。

热点排行