上級 › free(): double free detected の原因と直し方(C++のdelete) › パターン5
free(): double free detected の原因と直し方(C++のdelete)
newで確保したメモリに対してdeleteを2回呼んでしまったときに出る実行時エラーです。
1 #include <iostream> 2 int main() { 3 double *f = new double(1.5); 4 delete f; 5 ____________________ ^ 6 std::cout << "done" << std::endl; 7 return 0; 8 }
free(): double free detected in tcache 2
Aborted
空欄を埋めてコンパイル・実行を通す
double型でも同様です。deleteされたポインタはダングリングポインタになります。
次の問題