私の理解では、C++コンパイラは変数を持つ配列を初期化することはできませんが、このプログラムはコンパイルされ、自分のコンピュータ上で実行されますが、それはなぜですか? C++でこのC++プログラムはなぜコンパイルされますか?
// this should not compile because there is a variable in the array declaration
#include <iostream>
int main(){
int x = 5;
int ar[x];
printf("hello world\n");
}
どのコンパイラを使用していますか? *可変長配列の拡張があります。* – jaggedSpire
@fredコンパイラには、VLAを使用できる独自の言語拡張機能があります。コンパイラのエラーメッセージを表示するには、それらをオフにする必要があります。 –