xggz_wb 发表于 2006-5-13 23:48:51

这个报错:function declaration isn't a prototype 如何解决?

./ir.c:45: warning: function declaration isn't a prototype





http://cache.amobbs.com/bbs_upload782111/files_6/armok01117327.jpg





虽然不是error,但总不顺眼.

应该如何解决?




-----此内容被xggz_wb于2006-05-13,23:49:42编辑过

ts_ljy 发表于 2006-5-14 07:43:33

你那个 return(ir_value); 的括号去掉试试

xggz_wb 发表于 2006-5-14 09:03:30

去掉也还是一样

pasyong 发表于 2006-5-14 09:52:17

*.c和*.h函数不同,改一下就好了

xggz_wb 发表于 2006-5-14 12:41:10

两种都试了,都有这个报错



*.c和*.h,,请问这两种文件的区别是什么?



谢谢指点.

areswry 发表于 2008-7-30 10:29:13

我也想知道怎么解决这个问题。我只有*.c文件,*.h

my_avr 发表于 2008-7-30 11:21:54

*.c和*.h函数不同

比如在*h文件里声明一个函数为:
extern void Fun(void);

但是你在*c里对应的函数类型和在*h声明的类型不一样:
unsigned char Fun(void)
{
   ***********//应用程序
}

areswry 发表于 2008-7-30 11:46:13

*.c和*.h函数不同

比如在*h文件里声明一个函数为:
extern void Fun(void);

但是你在*c里对应的函数类型和在*h声明的类型不一样:
unsigned char Fun(void)
{
   ***********//应用程序
}
-----------------但是该程序只有一个main.c文件丫,没有对应的main.h

areswry 发表于 2008-7-30 11:47:15

该程序为新手入门的外部中断范例,只有一个main.c文件,没有对应的.h文件,依然会碰到这样的问题。

cai168 发表于 2009-4-14 23:44:25

(void) 的问题

如果 函数xxxxxx(void)括号里面没有加void就会出现此警告。

ba_wang_mao 发表于 2009-4-15 10:30:12

unsigned char IR_0038()是错误的
应该为:unsigned char IR_0038(void)

guiltcool 发表于 2009-4-17 12:51:55

估计是C99标准造成的吧?
同意9楼和10楼。

这也说明一个问题:写程序时要按编译器遵循的语言标准。
页: [1]
查看完整版本: 这个报错:function declaration isn't a prototype 如何解决?