代码1
const int size = 9;
char c[size];
1.VS2005 编译为 C 代码(/TC)
编译不通过
错误 1 error C2057: expected constant expression
错误 2 error C2466: cannot allocate an array of constant size 0
错误 3 error C2133: 'c' : unknown size
2.VS2005 编译为 C++ 代码(/TP)
编译通过
3.Cygwin gcc/g++
编译通过
================================================
代码2
int temp = 9;
const int size = temp;
char c[size];
1.VS2005 编译为 C 代码(/TC)
编译不通过
错误 1 error C2057: expected constant expression
错误 2 error C2466: cannot allocate an array of constant size 0
错误 3 error C2133: 'c' : unknown size
2.VS2005 编译为 C++ 代码(/TP)
编译不通过
错误 1 error C2057: expected constant expression
错误 2 error C2466: cannot allocate an array of constant size 0
错误 3 error C2133: 'c' : unknown size
3.Cygwin gcc/g++
编译通过
================================================
代码3
int size;
scanf("%d", &size);
char c[size];
1.Cygwin gcc/g++
编译通过
但不能对数组初始化。
2.VS2005
编译不通过