Code Fix

上級free(): double free detected の原因と直し方(C++のdelete) › パターン1

free(): double free detected の原因と直し方(C++のdelete)

newで確保したメモリに対してdeleteを2回呼んでしまったときに出る実行時エラーです。

 1  #include <iostream>
 2  int main() {
 3      int *p = new int(5);
 4      delete p;
 5      ___________________
                 ^
 6      std::cout << "done" << std::endl;
 7      return 0;
 8  }
free(): double free detected in tcache 2 Aborted

空欄を埋めてコンパイル・実行を通す

広告
広告スロット(未設定)

free(): double free detected の原因と直し方(C++のdelete)

メモリ管理システムが不整合を検知してプロセスを強制終了させます。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)