社区
C++ 语言
帖子详情
为什么有些函数没有定义函数休也不会报链接错误呢
z__j__s
2014-05-06 11:01:22
为什么有些函数没有定义函数休也不会报链接错误呢,比如:
class true_type{};
class false_type
{
char c[8];
};
template<typename _T>
static true_type fun2(_T);
static false_type fun2(true_type);
...全文
83
4
打赏
收藏
为什么有些函数没有定义函数休也不会报链接错误呢
为什么有些函数没有定义函数休也不会报链接错误呢,比如: class true_type{}; class false_type { char c[8]; }; template static true_type fun2(_T); static false_type fun2(true_type);
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
幻夢之葉
2014-05-06
打赏
举报
回复
怎么用到了?!
z__j__s
2014-05-06
打赏
举报
回复
是不是因为如果只在sizeof里用到的话 可以不定义 它只要知道返回类型就ok了?????
z__j__s
2014-05-06
打赏
举报
回复
当然是有用到咯
www_adintr_com
2014-05-06
打赏
举报
回复
没用到的就不会
最全的C和C++语言笔试面试题汇总
最全的C和C++语言笔试面试题汇总,我大四时候找工作时候他帮上了很多忙,里面的题目经常考到。希望对大家有帮助。
c++内联(inline)
函数
不
报
重定义
错误
分析
inline
函数
不
报
重定义
错误
浅析 1 问题背景 关键字inline用于建议编译器在调用处展开被修饰的
函数
,但最终是否展开取决于编译器的行为 gcc配置参数-O0时
不会
进行编译优化,inline关键字不生效 gcc配置参数-O2时会进行编译优化,inline关键字生效 C/C++语法中,如果变量、
函数
在同一个工程中被多次定义,
链接
期间会
报
类似“对 xxx 多重定义”的
错误
; inline
函数
如果会在多处被调用,则需要将
函数
的定义写在头文件中 注:当inline
函数
的声明和定义分别在头文件和
【浅析】把实现放在头文件中的
函数
模板,为什么
没有
发生重定义
错误
对于普通
函数
,典型的做法是在头文件中只放入声明,而定义写在别外的.cpp文件中。然后在要使用该
函数
的源文件中直接include头文件,即该
函数
的声明 即可。 但是对于模板
函数
,情况就不一样了。在要使用该模板
函数
的源文件中,既要include模版
函数
的声明,也要include模版
函数
的定义。因为只有在编译的时候,根据调用处的类型进行隐式实例化后,由编译器生成的
函数
才是真正的
函数
定义。
C++: 内联
函数
不会
重复定义问题
传送门 1 问题背景 关键字inline用于建议编译器在调用处展开被修饰的
函数
,但最终是否展开取决于编译器的行为 gcc配置参数-O0时
不会
进行编译优化,inline关键字不生效 gcc配置参数-O2时会进行编译优化,inline关键字生效 C/C++语法中,如果变量、
函数
在同一个工程中被多次定义,
链接
期间会
报
类似“对 xxx 多重定义”的
错误
; inline
函数
如果会在多处被调用,则需要将
函数
的定义写在头文件中 注:当inline
函数
的声明和定义分别在头文件和源文件中,并且在其他文件中被调用时,
链接
期间编
常见的
链接
错误
全局变量未定义:若在一个文件中使用了外部全局变量,但
没有
正确定义或声明,也会引发
链接
问题。,却
没有
在任何地方定义 global_var。-
函数
多重定义:如果在多个源文件中定义了相同名称、相同参数列表的
函数
,
链接
器会不知道该使用哪个定义,从而产生
错误
。例如在两个.cpp文件中都定义了 int add(int a, int b)
函数
。-
函数
未定义:当代码中调用了某个
函数
,但在
链接
阶段找不到该
函数
的定义时,就会出现此
错误
。- 全局变量多重定义:当多个源文件中都定义了同名的全局变量时,就会出现此
错误
。
C++ 语言
65,208
社区成员
250,517
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章