我的编译抱怨说出现了非法的函数重新定义,但实际上这个函数只定义了一次。

lettermail6 2003-09-13 10:10:26
请问是什么原因?
...全文
19 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
robertnet 2003-09-13
  • 打赏
  • 举报
回复
帖出来。
flashworm 2003-09-13
  • 打赏
  • 举报
回复
最大的可能是与库函数同名了
C语言的标示符区分大小写,把函数名稍做改动,与库函数同名也是可以通过编译的
pzytony 2003-09-13
  • 打赏
  • 举报
回复

头文件多次调用

而头文件中未加上 #ifndef *****
#define ****
---------------------------------
#endif
fancy_kevin 2003-09-13
  • 打赏
  • 举报
回复
如果包含了多个文件而没有用条件编译来控制的话,文件之间的引用会造成重定义,另外,有的SDK会重定义以前的函数,不恰当的宏定义或搜索顺序也会造成重定义。
oldfhp 2003-09-13
  • 打赏
  • 举报
回复
头文件
lettermail6 2003-09-13
  • 打赏
  • 举报
回复
还有其它原因吗?
liuyuw 2003-09-13
  • 打赏
  • 举报
回复
可能你定义的函数与库函数相同名字了
比如你定义printf的话肯定出错。
  • 打赏
  • 举报
回复
是否和库函数重名?
sakurar 2003-09-13
  • 打赏
  • 举报
回复
看看是不是多次包含了一个头。
bailingke 2003-09-13
  • 打赏
  • 举报
回复
90%是头文件的问题
这种问题我遇到了N次
很多人都问过我的
搬不搬砖 2003-09-13
  • 打赏
  • 举报
回复
同意
freepl 2003-09-13
  • 打赏
  • 举报
回复
我觉得很可能是pzytony(507)说的那种情况.
#ifndef A_H
#define A_H
.....
#endif //A_H
ejiue 2003-09-13
  • 打赏
  • 举报
回复
很可能是函数定义在头文件.h或.hpp中。
应当把声明和定义区别开来。

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧