gpt4 book ai didi

c - 错误 C2536 : : cannot specify explicit initializer for arrays

转载 作者:太空宇宙 更新时间:2023-11-03 23:45:57 25 4
gpt4 key购买 nike

我正在使用 visual studio 13。我刚刚声明并初始化了一个无符号长数组。

 unsigned long z[8] = { 0xffffffff, 0x00000001, 0x00000000, 0x00000000,0x00000000, 0xffffffff, 0xffffffff, 0xffffffff }; 

但它抛出以下错误

error C2536: : cannot specify explicit initializer for arrays

我阅读了一些与此错误相关的答案,但对我没有帮助。有人可以帮我解决这个错误吗?

最佳答案

在“自然”上下文(即数组对象声明)中,您声明的初始化是完全有效的。没什么问题。

对该错误的唯一解释是,正如您在评论中指出的那样,您的数组被声明为结构成员,并且您正试图在结构声明中指定初始值设定项。做这样的事情在 C 中没有任何意义。您不能在结构声明中为成员指定初始值设定项,无论这些成员是数组还是其他东西。

初始化器应该在对象定义中指定,如

struct S 
{
unsigned long z[8];
};

struct S s = { { 0xffffffff, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0xffffffff, 0xffffffff } };

关于c - 错误 C2536 : : cannot specify explicit initializer for arrays,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33664692/

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