gpt4 book ai didi

c++ - 结构成员初始化

转载 作者:太空宇宙 更新时间:2023-11-04 14:56:17 25 4
gpt4 key购买 nike

我有一个这样定义的结构:

typedef struct tag_GLOBAL_VAR
{
int array1[4];
int array2[5];
.......
int array20[40];
}GLOBAL_VAR;

此结构用于在某个类中定义变量:

GLOBAL_VAR g_GlobalVar;

然后像这样在另一个类中使用:

extern GLOBAL_VAR g_GlobalVar;

class constructor;

class destructor;

int class::Start()
{
//g_GlobalVar.array1 = {1,2,3,4};
//g_GlobalVar.array4 = {1,2,3};
some code;
}

我的问题是我无法像这样初始化(注释行)这 2 个数组,我从 VS 收到了 error C2059: syntax error : '{'。为什么这是错误的,解决方法是什么?

最佳答案

这是错误的,因为这不是初始化,而是设置一个新值。当您声明 g_GlobalVar 时,您的数组已经初始化。

我看到了 2 个解决方案:A) 创建新数组,像您尝试的那样初始化它们,并在循环中将新数组复制到您的数组中; B) 分别设置每个数组的每个条目。

关于c++ - 结构成员初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11969276/

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