From c8f9fc0ae433428d29e70578197e2fb3a9a2b2d9 Mon Sep 17 00:00:00 2001 From: ehofman Date: Thu, 22 May 2003 08:42:38 +0000 Subject: [PATCH] from the C++ FAQ: TITLE: Using delete [] versus delete The extra "[]" warns the compiler that there is a whole array of objects here so that P's destructor must be called on each element of the array rather than just on P itself (which would be equivalent to the first element only). --- src/GUI/dialog.cxx | 2 +- src/GUI/menubar.cxx | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/GUI/dialog.cxx b/src/GUI/dialog.cxx index 5370e2a22..a2e2fb8e3 100644 --- a/src/GUI/dialog.cxx +++ b/src/GUI/dialog.cxx @@ -134,7 +134,7 @@ FGDialog::~FGDialog () for (i = 0; i < _char_arrays.size(); i++) { for (int j = 0; _char_arrays[i][j] != 0; j++) free(_char_arrays[i][j]); // added with strdup - delete _char_arrays[i]; + delete[] _char_arrays[i]; } // Delete all the info objects we diff --git a/src/GUI/menubar.cxx b/src/GUI/menubar.cxx index 0164dd2d8..82724b2bc 100644 --- a/src/GUI/menubar.cxx +++ b/src/GUI/menubar.cxx @@ -217,7 +217,7 @@ FGMenuBar::~FGMenuBar () for (i = 0; i < _char_arrays.size(); i++) { for (int j = 0; _char_arrays[i][j] != 0; j++) free(_char_arrays[i][j]); // added with strdup - delete _char_arrays[i]; + delete[] _char_arrays[i]; } // Delete all the callback arrays @@ -225,7 +225,7 @@ FGMenuBar::~FGMenuBar () // plib. SG_LOG(SG_GENERAL, SG_INFO, "Deleting callback arrays"); for (i = 0; i < _callback_arrays.size(); i++) - delete _callback_arrays[i]; + delete[] _callback_arrays[i]; // Delete all those bindings SG_LOG(SG_GENERAL, SG_INFO, "Deleting bindings");