发帖 |
[问答] Keil uVision4中制作的头文件为什么不能声明有参数的函数?
2018-5-15 10:12:27  578 Keil
收藏 1 收藏 推荐 0 推荐
分享
像这样子,函数没有问题,但就是不能成功编译……
QQ截图20180515095224.png
QQ截图20180515095158.png
2018-5-15 10:12:27   评论 邀请回答
9个回答
第一,delay.h和DELAY.H是不一样的文件
第二,头文件中的声明是要加参数的比如
void delay1s(int n)
第三,不要加extern
最佳答案
2018-5-15 10:12:28 评论

举报

在main()函数前要对delay1s进行声明              
2018-5-15 11:02:19 评论

举报

本帖最后由 蒋某某 于 2018-5-15 11:10 编辑
j6920 发表于 2018-5-15 11:02
在main()函数前要对delay1s进行声明

可是如果我不用带参数的函数就不用声明,可以成功编译。 3.png
但加了参数就要了
2018-5-15 11:08:59 评论

举报

要在delay.h文件里声明
2018-5-15 11:09:54 评论

举报

人中狼 发表于 2018-5-15 11:09
要在delay.h文件里声明

这不是声明了吗?也是不行
4.png
2018-5-15 11:12:58 评论

举报

最好时把程序贴上来,不要贴图。
delay.h的格式错了,可以参考一下其他头文件的格式,delay.h里的delay1s()是内部函数,不用加extern
2018-5-15 11:33:56 评论

举报

人中狼 发表于 2018-5-15 11:33
最好时把程序贴上来,不要贴图。
delay.h的格式错了,可以参考一下其他头文件的格式,delay.h里的delay1s()是内部函数,不用加extern

好,谢谢  真的是很感谢了。再问一下extern是在其他模块调用函数的时候才能用吗?
还有贴程序的问题以后会注意的,谢谢
2018-5-16 00:14:19 评论

举报

Ansersion 发表于 2018-5-15 10:12
第一,delay.h和DELAY.H是不一样的文件
第二,头文件中的声明是要加参数的比如
void delay1s(int n)

谢谢 终于知道了  还有delay.h和DELAY.H的差别是什么…调用的时候好像可以编译成功……、
很感谢
2018-5-16 00:17:01 评论

举报

编译多了,这些未知的小BAG就知道了。
2018-5-16 12:40:16 评论

举报

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

提问题
关闭

站长推荐 上一条 /9 下一条

快速回复 返回顶部 返回列表