编译器不会真把一个聚合保存到它的符号表,为什么就必须要分配内存,分配内存不是在运行期间吗?
1 回答
AAnonymous
TA贡献62条经验 获得超31个赞
编译期分配内存就是静态存储区吧。
不太清楚为什么这里 `i[]` 虽然是const的但是其值在编译期是未知的?
const int i[] = {1, 2, 3}; float f[i[1]]; // error
如果不是数组倒是没问题
const int i = 3; float f[i]; // OK
数组使用`constexpr`也是OK的
constexpr int i[] = {1, 2, 3}; float f[i[1]]; // OK
- 1 回答
- 0 关注
- 689 浏览
添加回答
举报
0/150
提交
取消