社区
C语言
帖子详情
我的编译抱怨说出现了非法的函数重新定义,但实际上这个函数只定义了一次。
lettermail6
2003-09-13 10:10:26
请问是什么原因?
...全文
57
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的话肯定出错。
小笨和漂向北方
2003-09-13
打赏
举报
回复
是否和库函数重名?
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中。
应当把声明和定义区别开来。
函数
调用将被
定义
在主
本文探讨了在C++编程中因
函数
调用顺序不当导致的
编译
错误,并提出了通过调整
函数
顺序或使用前向声明两种解决方案。
定义
和声明之间有什么区别?
本文深入探讨了C语言中的声明与
定义
概念,通过对比两者在
编译
过程中的作用,阐述了它们在程序中的意义及使用场景。文章详细解析了在不同上下文中声明与
定义
的区别,包括
函数
、变量和类的处理。
keil里为什么main.c
定义
的
函数
在it.c调用不了
本文详细探讨了在Keil5.36版本中,main.c
定义
的空闲中断回调
函数
在it.c中无法调用的问题,提供了包括
函数
声明、作用域、中断向量表、
编译
器配置等多方面的解决方案。,
因为
编译
器顺序读取文件
本文探讨了
编译
过程中因
函数
调用顺序不当导致的常见错误,提供了两种解决方案:一是调整
函数
定义
的位置;二是通过
函数
原型进行前向声明。并强调了解决首个
编译
错误的重要性。
显式编写空析构
函数
以减少
编译
依赖
本文通过一个关于std::auto_ptr的使用实例,探讨了解决C++
编译
时
出现
的‘删除指向不完整类型指针’警告的方法。文章首先介绍了问题产生的背景及原因,随后提出了一种有效的解决方案。
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章