if(_source_items_size == 0) SOURCE_SRC2HWND_STRUCT _source_items_bak[_source_items_size]; else if(_source_items_size == 1) SOURCE_SRC2HWND_STRUCT _source_items_bak[_source_items_size]; else if(_source_items_size == 2) SOURCE_SRC2HWND_STRUCT _source_items_bak[_source_items_size]; else if(_source_items_size == 3) SOURCE_SRC2HWND_STRUCT _source_items_bak[_source_items_size]; else SOURCE_SRC2HWND_STRUCT _source_items_bak[_source_items_size]; 报错为expected expression before 'SOURCE_SRC2HWND_STRUCT',请帮我分析
时间: 2023-06-07 20:09:50 浏览: 355
GetHwnd.rar_gethwnd_spy
这段代码中出现了一些问题,主要是因为在定义数组时,使用了变量来指定数组大小,但是变量在使用前未被初始化。所以,编译器会报错。
解决方法是,将数组大小由变量改为常量,例如:
```
#define MAX_SOURCE_ITEMS_SIZE 3
if(_source_items_size == 0)
SOURCE_SRC2HWND_STRUCT _source_items_bak[MAX_SOURCE_ITEMS_SIZE];
else if(_source_items_size == 1)
SOURCE_SRC2HWND_STRUCT _source_items_bak[MAX_SOURCE_ITEMS_SIZE];
else if(_source_items_size == 2)
SOURCE_SRC2HWND_STRUCT _source_items_bak[MAX_SOURCE_ITEMS_SIZE];
else if(_source_items_size == 3)
SOURCE_SRC2HWND_STRUCT _source_items_bak[MAX_SOURCE_ITEMS_SIZE];
else
SOURCE_SRC2HWND_STRUCT _source_items_bak[MAX_SOURCE_ITEMS_SIZE];
```
这样,每个数组都有一个确定的大小,就可以避免编译器报错了。
阅读全文