*更新: *最後に問題を見つけました。問題は次のようなものです。
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ループごとに変化し、範囲外の値になります。ご不便をおかけして申し訳ございません。