我有这个非常简单的代码:
uint16_t dataSize = 5;
uint8_t wdata[dataSize] = { 5, 6, 7, 8, 9 };
我收到错误消息:
variable "wdata" may not be initialized
uint8_t wdata[dataSize]
它位于扩展名为.ccp的文件中。我有其他测试用例文件,其中包含类似的语句和错误消息。
代码编译gcc
没有任何问题。但是,Visual Studio Code C ++ IntelliSense是报告错误的那个。
答案 0 :(得分:1)
DimChtz是正确的,你不能在编译时使用变量初始化一个大小的数组。
最好只是初始化没有大小的数组:
uint16_t dataSize = 5;
uint8_t wdata[] = { 5, 6, 7, 8, 9 };
答案 1 :(得分:0)
Merek R的建议最终成为解决方案:
const uint16_t dataSize = 5;
uint8_t wdata[dataSize] = { 5, 6, 7, 8, 9 };