0

重複の可能性:
C++ の書籍では、バインドされた配列は定数式でなければなりませんが、次のコードが機能するのはなぜですか?

main() 内でこれを行います。

int i = 2; //not constant expression
int foo[i]; //no error?

私の本によれば、これは私にエラーを与えません。なんで?

(私はclang 3.1を使用しています)

4

2 に答える 2

6

厳密な警告を有効にしてコンパイルしてください。
-pedanticgcc を使用すると、エラーが発生します。

ほとんどのコンパイラは、言語拡張によって可変長配列 (VLA) をサポートしています。ただし、C++ 言語標準は、言語の一部として VLA をサポートしていません。

于 2013-01-27T14:26:43.323 に答える
0

ISO C99 では可変長の自動配列が許可されています。

于 2013-01-27T14:30:36.053 に答える