*更新: *终于我找到了问题所在。问题是这样的:
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 循环中发生变化,并以超出范围的值结束。谢谢大家,对造成的任何不便深表歉意。