我正在将一些 C 代码移植到 C++,我正在尝试用一些值初始化一个结构。 我希望将结构存储在闪存(const)中而不是 RAM 中,并且它的值是 typedef 元素。
原来我是这样的:
typedef struct
{
typeA_t elementA;
typeB_t elementB;
uint8_t elementC;
} structTypeA_t;
为了在 Flash 中实例化它们,我简单地执行了以下操作:
const structTypeA_t sA = {
.elementA = ONE,
.elementB = TWO,
.elementC = 3
};
我知道这种类型的初始化在 C++ 中是不允许的。我如何在 C++ 中实现它?
最佳答案
指定的初始值设定项不在 C++ 中(但是,请寻找 C++20)。所以你几乎以同样的方式来做,但没有名字——参数的位置定义了它初始化的字段:
const structTypeA_t sA = {ONE,
TWO,
3
};
关于c++ - 使用 C++ 中的自定义元素进行 Const 结构初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55796782/