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 属性问题

使用格式参数时,Swift 中的字符串初始值设定项问题

您只能在 C# 中的固定语句初始值设定项错误中获取未固定表达式的地址

是否有任何特定原因不能将函数调用用于C中的变量初始值设定项

“Emgu.CV.CvInvoke”的类型初始值设定项引发异常。

为啥 C# 3.0 对象初始值设定项构造函数括号是可选的?