不是說數組的維數不能是 非const 變量嗎?可下面的程序為什麼編譯成功而且運行正確?難道是編譯器的問題?我目前用的編譯器是DEV C++ 5.6.1
#include<iostream>
using namespace std;
int main()
{
size_t array_type = 10;
int array[array_type];
for (size_t ix = 0; ix != array_type; ix++){
array[ix] = ix + 1;
cout << array[ix] << " ";
}
return 0;
}
GCC支持這種寫法,C或C++程序都可以,C99就可以。VS2010都不支持C99,還是C89,比如所有的變量都得在開頭幾行定義,C++的話會寬一點,但也不支持非常量的數組大小定義。