gba 中的初始值设定项无效
Posted
技术标签:
【中文标题】gba 中的初始值设定项无效【英文标题】:invalid initializer in gba 【发布时间】:2018-04-23 22:41:24 【问题描述】:我是 Lino,我是这个社区的新手。基本上,我试图将数据保存到 GBA 的 GAMEPAK_RAM 中,并且指针不起作用。代码行是这样的:
#define GAMEPAK_RAM ((volatile uint8_t*)0x0E000000)
错误是这样的:
In file included from source/main.c:2:0:
source/OpenEngine.h:8:21: error: invalid initializer
#define GAMEPAK_RAM ((volatile uint8_t*)0x0E000000)
^
有人可以帮助我吗? 如果需要其他信息,请告诉我
【问题讨论】:
你使用 GAMEPAK_RAM 的代码是什么? pastebin.com/vcb7DGep 您的代码没有在任何地方定义或使用 GAMEPAK_RAM,因此它不应该给出与 GAMEPAK_RAM 相关的错误。 噢噢噢!我使用 GAMEPAK_RAM: 无符号短 *SaveMemory[0xFFFF] = GAMEPAK_RAM; 【参考方案1】:unsigned short *SaveMemory[0xFFFF] = GAMEPAK_RAM;
这与:
unsigned short *SaveMemory[0xFFFF] = ((volatile uint8_t*)0x0E000000);
SaveMemory
是一个数组,((volatile uint8_t*)0x0E000000)
是一个指针。您不能将数组设置为等于指针,因此会出现错误。
【讨论】:
以上是关于gba 中的初始值设定项无效的主要内容,如果未能解决你的问题,请参考以下文章
TypeScript - 对象初始值设定项中的 Get 属性问题
您只能在 C# 中的固定语句初始值设定项错误中获取未固定表达式的地址