C ++对删除错误
*更新:*最后我发现了问题。问题是这样的:
pair<int,int> *findPair(){
pair<int,int> *t = new pair<int,int> [10];
for(int i=0;i<11;i++) // error here
{
t[i].first =1;
t[i].second =2;
}
return t;
}
int main() {
pair<int, int> * tt = findPair();
tt[1].first =8;
delete [] tt; // error
return 0;
}
存在段错误错误。 gcc没有显示任何超出范围错误的警告。在我的原始代码中,我使用k
作为pair
数组的索引。 k在每个while循环中发生变化,最终得到一个超出界限的值。谢谢大家,对由此造成的不便表示歉意。
没有找到相关结果
已邀请:
1 个回复
讹巳漓把备