我知道在C ++中你不能用运行时变量声明数组的大小,但我有兴趣确定以下内容是否合法:
#include directives
const int SIZE=5;
double a[SIZE];
谢谢!
答案 0 :(得分:1)
是的,它在C ++和C中都是合法的。
SIZE
需要是 常量表达式 ,而在C ++ const int SIZE=5;
中声明如此。
在C99中引入可变长度数组之前的C中,
const int SIZE=5;
double a[SIZE];
会产生错误,因为在这种情况下SIZE
不是 常量表达 ,而只是 readonly 并且它必须是一个有效的常量表达式。