c++ - 没有常量表达式的 C++ 堆栈数组
问题描述
来自C++ 之旅
数组的大小必须是常量表达式
我不明白为什么这个编译和运行没有错误
int main()
{
int input;
cin >> input;
char v[input];
cout << sizeof(v) << endl;
}
虽然这不是
int value(int value)
{
for(int i = 0; i < value; i++) {
value++;
}
return value;
}
int main()
{
int input;
cin >> input;
char v[value(input)];
cout << sizeof(v) << endl;
}
有人可以向我解释为什么会这样吗?
解决方案
推荐阅读
- python - Python,在循环中初始化类属性
- android - java.lang.IllegalStateException:未使用 YouTubeThumbnailView 初始化 YouTubeServiceEntity
- r - 在 R 中创建驱动时间等时线
- javascript - 如何在平面列表渲染函数中调用其他函数?
- c# - 在同一 IIS 应用程序上托管 .Net webapi 和 Angular4 应用程序
- debian - 更改 Prometheus 节点导出器在 systemd 插入单元中侦听的地址
- ios - 从 SceneKit 检测 SpriteKit 按钮按下覆盖
- python - 字典功能不可用?
- mysql - MySQL通过自定义条件获取相关数据
- amazon-web-services - 如何将 EFS 卷附加到 Kubernetes POD