質問編集履歴
3
追記:ダブルフリー(メモリの2重解放)が原因とのことですが、どのタイミングで解放されているのかという所から理解できていません。
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
コードの箇所に、解いている問題文を追記しました。
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
マークダウン形式の書式を変更しました。
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
|
-
|
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)
|