回答編集履歴
1
追記1
answer
CHANGED
@@ -25,5 +25,33 @@
|
|
25
25
|
C言語では確か、質問のようなコード(もちろん型名とかが抜けているとかのアレは修正したものとして)はいけるはずですが、C++では「**配列宣言時の要素数は定数でなければいけない**」だったはずです。
|
26
26
|
|
27
27
|
なので constをつけて定数扱いにすればいけるはずです。
|
28
|
+
(一応paiza IOで試してみました。)
|
28
29
|
|
30
|
+
----------------------------------
|
31
|
+
[追記1]
|
32
|
+
|
29
|
-
|
33
|
+
一応、標準入力等で取得した後にでも可能ですよ。
|
34
|
+
実際、
|
35
|
+
|
36
|
+
```C++
|
37
|
+
#include<iostream>
|
38
|
+
|
39
|
+
void func1( int size ){
|
40
|
+
const int max = size; // <= constをつけている
|
41
|
+
int arr[max] = {};
|
42
|
+
// 何らかの処理
|
43
|
+
return;
|
44
|
+
}
|
45
|
+
|
46
|
+
int main( void ){
|
47
|
+
int n;
|
48
|
+
std::cout << "n = " << std::flush;
|
49
|
+
cin >> n;
|
50
|
+
func1( n );
|
51
|
+
return 0;
|
52
|
+
}
|
53
|
+
```
|
54
|
+
|
55
|
+
みたいな、呼び出した関数内で配列を定義したりするとかみたいな感じでやったりしますし。
|
56
|
+
|
57
|
+
ただ、他の方々もおっしゃっているように std::vectorを使うか、memsetを使うほうが楽かもしれません。
|