编译器不会真把一个聚合保存到它的符号表,为什么就必须要分配内存,分配内存不是在运行期间吗?
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 關注
- 728 瀏覽
添加回答
舉報
0/150
提交
取消