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

質問編集履歴

3

追記:ダブルフリー(メモリの2重解放)が原因とのことですが、どのタイミングで解放されているのかという所から理解できていません。

2021/11/28 03:57

投稿

ratera
ratera

スコア54

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,5 @@
1
1
  以下のプログラムを動かした際に、"double free or corruption (out)"と表示されてしまいます。修正方法のご教授をお願いします。
2
+ ダブルフリー(メモリの2重解放)が原因とのことですが、どのタイミングで解放されているのかという所から理解できていません。
2
3
 
3
4
  ###### 問題の切り分けのために、試したことは以下2点です。
4
5
  1. 入力時に再現するデータ

2

コードの箇所に、解いている問題文を追記しました。

2021/11/28 03:57

投稿

ratera
ratera

スコア54

title CHANGED
File without changes
body CHANGED
@@ -16,6 +16,9 @@
16
16
  vscode上、codilityのサイト上の2か所共におきます。
17
17
 
18
18
  ###### C++コード
19
+ こちらの問題を解いていました。
20
+ [PermCheck https://app.codility.com/programmers/lessons/4-counting_elements/perm_check/](https://app.codility.com/programmers/lessons/4-counting_elements/perm_check/)
21
+
19
22
  ```C++
20
23
  #include <bits/stdc++.h>
21
24
  #define rep(i, n) for (int i = 0; i < (n); ++i)

1

マークダウン形式の書式を変更しました。

2021/11/28 03:55

投稿

ratera
ratera

スコア54

title CHANGED
@@ -1,1 +1,1 @@
1
- "double free or corruption (out)"の修正方法が知りたいです
1
+ C++の"double free or corruption (out)"の修正方法が知りたいです。おそらくvectorに問題がありそうな気がするのですが。
body CHANGED
@@ -1,6 +1,6 @@
1
1
  以下のプログラムを動かした際に、"double free or corruption (out)"と表示されてしまいます。修正方法のご教授をお願いします。
2
2
 
3
-  問題の切り分けのために、試したことは以下2点です。
3
+ ###### 問題の切り分けのために、試したことは以下2点です。
4
4
  1. 入力時に再現するデータ
5
5
  ・vector<int> B={5,3,2,1};//こちらだとエラーになる
6
6
  ・vector<int> B={4,1,3,2,5};//こちらだとエラーにならない
@@ -8,14 +8,15 @@
8
8
  ・solotionメソッドの、return 0;の直前まで動作することを確認しています
9
9
 
10
10
 
11
-  エラーの内容
11
+ ###### エラーの内容
12
12
  > double free or corruption (out)
13
13
  [1] 3070 abort (core dumped) ./a.out
14
14
 
15
- 再現環境
15
+ ###### 再現環境
16
16
  vscode上、codilityのサイト上の2か所共におきます。
17
17
 
18
+ ###### C++コード
18
- ```
19
+ ```C++
19
20
  #include <bits/stdc++.h>
20
21
  #define rep(i, n) for (int i = 0; i < (n); ++i)
21
22
  #define rep1(i, n) for (int i = 1; i <= (n); ++i)