我正在使用 NIOS II - Eclipse 这是我的代码示例 我基本上是在尝试调用一个函数
struct DevDesc {
u32* mmio;
}
struct DevDesc dev_desc;
struct MemDesc mem_desc_g;//this structure is defined in another file
struct SysDesc sys_desc_g = {
.dd = &dev_desc,
.md = &mem_desc_g,
};
u32 power_mode_sleep (struct SysDesc *sd)
{
void * dev_addr = sd->dd->mmio;
//code
//code
//code
return 0;
}
几行之后我试着调用它
int main()
{
power_mode_sleep((u32*)dev_addr);
}
当我尝试构建时,它抛出错误“dev_addr”未声明(首次在此函数中使用),它指向该行
power_mode_sleep((u32*)dev_addr);
我尽量让代码简洁,只放我认为必要的东西。如果有人想查看更多详细信息,我很乐意提供。
最佳答案
void * dev_addr = sd->dd->mmio;
被限制在函数 power_mode_sleep (struct SysDesc *sd)
的范围内因此出现错误。
此外,您将 (u32*)dev_addr
作为参数传递给 power_mode_sleep
。然而,它需要一个类型为 struct SysDesc *
关于c - 'dev_addr' 未声明(在此函数中首次使用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17099691/