c++ - C++ 中的可迭代指定初始化器替代方案
问题描述
在 C99 中,可以初始化结构数组
static struct {char* tag; char* msg;} help_info[] = {[0]={"tag0","msg0"}, [1]={"tag1", "msg1"}};
这在 C++ 中无效。为包含已定义信息的可迭代对象复制此行为的可能替代方法是什么?
解决方案
如另一个答案所述:
从此链接中指定的初始化程序在 C++指定初始化程序中不受支持:
注意:乱序指定初始化、嵌套指定初始化、指定初始化和正则初始化混合、数组的指定初始化在C编程语言中都是支持的,但在C++中是不允许的。
但是,我相信此代码将满足您的需求。
static struct { const char* tag; const char* msg; } help_info[] = { {"tag0","msg0"}, {"tag1", "msg1"} };
推荐阅读
- android - Imgur 图像未使用 glide 库加载
- python - 监督机器学习任务中的目标变量可以是特定对象的数组吗?
- java - 无法更改 JavaFX 中警报窗口的 initModality
- node.js - 快速 webapp 上的 Passport.js 身份验证错误“一旦已发送就无法设置标头”
- node.js - findOneAndUpdate 猫鼬;发送到客户端后无法设置标头
- javascript - 为什么在中间件中的“调度动作”之后没有保存“状态Vuex”
- java - 为什么我们在 java 中读取 JSON 文件或请求对象时使用以下代码?
- arrays - Ruby,Array.select 元素数量
- google-apps-script - 如何在谷歌表格的应用程序脚本中引用行而不是列?
- keras - keras 多输入模型:预计会看到 2 个数组,但得到了以下 1 个数组的列表