上級 › free(): double free detected の原因と直し方(C++のdelete) › パターン4
free(): double free detected の原因と直し方(C++のdelete)
newで確保したメモリに対してdeleteを2回呼んでしまったときに出る実行時エラーです。
1 #include <iostream> 2 int main() { 3 int *v = new int(3); 4 delete v; 5 ___________________ ^ 6 std::cout << "done" << std::endl; 7 return 0; 8 }
free(): double free detected in tcache 2
Aborted
空欄を埋めてコンパイル・実行を通す
解放直後にnullptrを代入する習慣で、二重解放を未然に防げます。
次の問題