arrays - 为什么我们不能在现代 C++ 中省略具有默认初始值设定项列表的数组类型成员变量的容量?
问题描述
在现代 C++ 中,成员变量可以显式初始化。然而,虽然我们可以在使用初始化列表的函数中定义本地数组时省略数组的容量,但我们不能省略数组成员的容量,即使它有初始化列表。
例如,在以下代码中:
A类{ int a[]{1,2,3,4}; // 错误 诠释 b[4]{}; 诠释 c[4]{1,2,3,4}; };
这给成员变量一个错误a
:
数组界限不能从类内初始化器中推导出来
我很好奇,为什么不允许这种定义?
解决方案
推荐阅读
- sql - 在提取数据库中重复行的查询结果中仅选择较新的记录
- linux - 如何使用循环变量响应 shell 脚本中的提示
- javascript - 如何将从mongo db检索到的对象传递给javascript中的测试
- logging - 如何使用springboot logback在日志中打印http状态
- filter - 在 PowerBI DAX 中,试图捕获最大的会计月用户已过滤
- java - Burp 扩展:解析 XML/Jython
- kotlin - 用于组合来自不同来源的数据的 FP 模式(最好在 Kotlin 和 Arrow 中)
- javascript - jQuery 窗口加载可以是纯 javascript 吗?
- msal - 我可以为使用 passport-azure-ad 登录的用户使用什么 ID?
- python - Visual Studio Code 中的 Python 未从终端运行