0
问答首页 最新问题 热门问题 等待回答标签广场
我要提问

先有鸡还是先有蛋?如何声明一个未定义数据类型的函数?

我在ucgui里面声明并调用了一个读spiflash的函数,函数的声明如下:
extern ErrorStatus spiflash_readdata (u32, u16, u8 *);
其中ErrorStatus是个枚举类型,在ucgui里面没有定义的。而ErrorStatus的定义又只能在ucgui后面。所以编译器报错。我在谷歌上找了好久没有看到解决这种先声明后定义的方法。我想,要么这个问题没人碰到过(可能性很小),要么解决起来很容易,所以没有人讨论。如果哪位高手知道解决方法请指点一下。先谢了!
提问者:cai359981910 地点:- 浏览次数:8540 提问时间:02-21 05:03
我有更好的答案
提 交
7条回答
nvwuwy 02-26 04:55
枚举定义copy到函数声明前面,以后要注意枚举定义的版本维护。
最好用统一的头文件。
电子发迷友 02-23 15:52
这个枚举定义是st库里面的,而引用是在ucgui里面。如果单独提取定义并放在前面,就破坏了各自的完整性,影响整个工程的结构。看样子只能付出点代价了。
林信海89 02-21 16:12
枚举是一个int,改一下函数声明就可以
云淡风轻丶 03-01 08:06
枚举是一个int,改一下函数声明就可以
ws2165946 02-28 22:38
包含相关头文件即可。
Ybonnie 03-01 08:37
是啊。包含相关头文件吧不就可以了
chm11 02-24 06:38
看完不顶什么心态?不够觉悟吗?火前留名不知吗?强势插了不知吗?
撰写答案
提 交
1 / 3
1 / 3