我有一个像这样的定义结构:
typedef struct tag_GLOBAL_VAR
{
int array1[4];
int array2[5];
.......
int array20[40];
}GLOBAL_VAR;
Run Code Online (Sandbox Code Playgroud)
此结构用于在某个类中定义变量:
GLOBAL_VAR g_GlobalVar;
Run Code Online (Sandbox Code Playgroud)
然后在另一个类中使用,如下所示:
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;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,我无法初始化(注释行)这样的2个数组,我得到了error C2059: syntax error : '{'VS. 为什么这是错误的,哪个是解决方案呢?
这是错误的,因为这不是初始化,而是设置新值.在声明g_GlobalVar时,您的数组已经初始化.
我看到2个解决方案:A)创建新数组,像尝试一样初始化它们,并在循环中复制数组中的新数组; B)分别设置每个数组的每个条目.
| 归档时间: |
|
| 查看次数: |
397 次 |
| 最近记录: |