求解:编译错误:function already has a body

2020-02-01 16:15发布

我在一个.c文件里放置了一个delay()函数,然后在其他的.c文件里用到了,就用#include " .c" 这种形式,为什么还会有这种错误?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
iquer
1楼-- · 2020-02-01 21:45
#include 后面应该是" .h"文件,你把delay()函数的声明放到一个.h文件中,然后 #include "xxx.h"
yklstudent
2楼-- · 2020-02-02 02:50
C语言中说可以包含.C文件了????
直接在文件内extern 。。。。声明extern void delay(void);
然后直接调用就好了
iquer
3楼-- · 2020-02-02 05:52
yklstudent 发表于 2013-1-30 22:37
C语言中说可以包含.C文件了????
直接在文件内extern 。。。。声明extern void delay(void);
然后直接调 ...

同一文件内的话不需要加extern吧,只需要在使用之前声明就行了
jswd0810
4楼-- · 2020-02-02 11:19
iquer 发表于 2013-1-30 22:48
同一文件内的话不需要加extern吧,只需要在使用之前声明就行了

楼主的工程至少包含2个c文件,看来楼主还不习惯用.h文件啊
shower.xu
5楼-- · 2020-02-02 16:40
 精彩回答 2  元偷偷看……
lcofjp
6楼-- · 2020-02-02 19:06
yklstudent 发表于 2013-1-30 22:37
C语言中说可以包含.C文件了????
直接在文件内extern 。。。。声明extern void delay(void);
然后直接调 ...

可以包含.c文件,只要符合语法,不会有问题。

楼主,如果你包含.c文件的话,那么这个被包含的.c文件就不要添加到工程中,否则就会重复定义,出现冲突。

一周热门 更多>