2
。しかし、私がこれを使用した場合:非常に簡単なプログラムは、私はこの非常に簡単なプログラムを作ったのDev Cにコンパイル++はなく、Visual Studioで
int a;
scanf_s("%i", &a);
int tab[a];
Visual Studio 2015にはエラーがあります。私は何が間違っているのか分かりません。
。しかし、私がこれを使用した場合:非常に簡単なプログラムは、私はこの非常に簡単なプログラムを作ったのDev Cにコンパイル++はなく、Visual Studioで
int a;
scanf_s("%i", &a);
int tab[a];
Visual Studio 2015にはエラーがあります。私は何が間違っているのか分かりません。
可変長アレイ(VLA)はC99標準の一部ですが、C++ 11/C++ 14標準の一部ではないため、Visual C++コンパイラでは実装されていません。 "C"コンパイラとして、Visual C++は、C++ 11のリファレンスで必要とされるC11標準ライブラリの部分に準拠しています。
この質問の核心は、すでにhere
一切のVLAは、Visual Studioではありませんに答えていることに注意してください。これが本当に必要な場合は、 'int tab [a];'の代わりに 'int * tab = alloca(a * sizeof(* tab)')を使うことができます。 '#include' –
VLA =>可変長配列 –
それでは、キーボードからタブの長さを宣言するにはどうすればいいですか?私は最初のコメントで提案したことをscanf_s – Finer