teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

「追加で試したこと」を追記しました

2020/10/01 12:50

投稿

aluminium
aluminium

スコア7

title CHANGED
File without changes
body CHANGED
@@ -162,9 +162,11 @@
162
162
  }
163
163
  // ループしてstudents配列のすべての要素を調べ、各学生の動的名の割り当てを解除
164
164
  for (int i = 0; i < noOfStudents; i++) {
165
- delete students[i].m_name;
165
+ delete [] students[i].m_name;
166
+ students[i].m_name = nullptr;
166
167
  }
167
- delete students; // students配列全体の割り当てを解除
168
+ delete [] students; // students配列全体の割り当てを解除
169
+ students = nullptr;
168
170
  }
169
171
  }
170
172
 
@@ -244,4 +246,11 @@
244
246
  ### 試したこと
245
247
  - new の格納先を +1 してみた --> 何も変わりませんでした(追加前と同じエラー)
246
248
  - delete を追加してみた --> 余計にエラーが増えました...
247
- - コマンドで'valgrind result' と打っても 'command not found' と言われてしまい、行番号すらわかりませんでした...
249
+ - コマンドで'valgrind result' と打っても 'command not found' と言われてしまい、行番号すらわかりませんでした...
250
+
251
+ ### ご回答をいただき追加で試したこと
252
+ - delete [] とした(投稿時のスクショは [] ありのもので、投稿したコードが古かったです、すみません)
253
+ - students[i].m_name と students に nullptr を追加
254
+
255
+ 上記を試してみましたが、Valgrindからは同じ出力が出ます...
256
+ ![イメージ説明](8cf5860f2be3e9ee4b06ed971bb66c62.png)