gpt4 book ai didi

c++ - 作为数组元素的初始化数组的大小(USB 描述符)

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:34:12 25 4
gpt4 key购买 nike

我想要一个类似于这个(无效)的结构:

const uint8_t uArray[] = { uint8_t(sizeof(uArray)), 1, 2, 3 }; 

并且 uArray[0] 应该是 4 并在编译时自动填充,这是 USB 描述符定义的情况,通常表示为字节数组,第一个字节值是元素的大小。

这在理论上应该是可行的,因为数组已经初始化但不知何故我无法表达它。

欢迎提出解决此问题的任何建议。

最佳答案

我阅读了规范 http://open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf ,在第 6.7.8.19 段中,它指出初始化是按初始化列表顺序进行的,在 6.7.8.22 中,它说“如果初始化了一个未知大小的数组,它的大小由具有显式初始化程序的最大索引元素决定。在它的初始化列表的末尾,数组不再有不完整的类型。”对我来说,这表明在初始化第一个值时,数组的类型(及其大小)仍然不完整。

关于c++ - 作为数组元素的初始化数组的大小(USB 描述符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30455150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com