回答編集履歴
1
fix
answer
CHANGED
@@ -4,9 +4,6 @@
|
|
4
4
|
|
5
5
|
その中でも一番利用頻度が高いのが`std::vector`でしょう。こちらは「実行時に要素を追加/削除できる可変長配列」と捉えればOKです。
|
6
6
|
|
7
|
-
|
7
|
+
直接的な問題は、`void sort_input(vector<int>* a)`関数内で`a[n]`とアクセスした場合、「vectorのn番目の要素」ではなく、「"vectorの配列"があったとして、そのn番目のvector」になってしまいます。そのようなデータ領域は存在しないため、プログラムは実行時にクラッシュします。
|
8
8
|
|
9
|
-
```C++
|
10
|
-
// 空(empty)のコンテナを初期化
|
11
|
-
vector<int>
|
9
|
+
修正方法としては、A)関数引数を参照型`vector<int>& a`とするか、B)要素アクセス時に`a->at(n)`に変更する必要があります。C++プログラムの設計としてはA)の方が自然だと思います。
|
12
|
-
```
|