posts - 3,  comments - 6,  trackbacks - 0

代码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
编译不通过


posted on 2010-08-22 16:25 custa 阅读(2050) 评论(3)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理