社区
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);
...全文
89
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
函数
的声明和定义分别在头文件和
C++: 内联
函数
不会
重复定义问题
传送门 1 问题背景 关键字inline用于建议编译器在调用处展开被修饰的
函数
,但最终是否展开取决于编译器的行为 gcc配置参数-O0时
不会
进行编译优化,inline关键字不生效 gcc配置参数-O2时会进行编译优化,inline关键字生效 C/C++语法中,如果变量、
函数
在同一个工程中被多次定义,
链接
期间会
报
类似“对 xxx 多重定义”的
错误
; inline
函数
如果会在多处被调用,则需要将
函数
的定义写在头文件中 注:当inline
函数
的声明和定义分别在头文件和源文件中,并且在其他文件中被调用时,
链接
期间编
【浅析】把实现放在头文件中的
函数
模板,为什么
没有
发生重定义
错误
对于普通
函数
,典型的做法是在头文件中只放入声明,而定义写在别外的.cpp文件中。然后在要使用该
函数
的源文件中直接include头文件,即该
函数
的声明 即可。 但是对于模板
函数
,情况就不一样了。在要使用该模板
函数
的源文件中,既要include模版
函数
的声明,也要include模版
函数
的定义。因为只有在编译的时候,根据调用处的类型进行隐式实例化后,由编译器生成的
函数
才是真正的
函数
定义。
C语言:
函数
的声明与定义
函数
的声明
函数
名称,类型,参数列表
报
undeclared
错误
计算机只考虑如何使用
函数
函数
定义 具体实现的逻辑
报
undefined
错误
计算机考虑
函数
如何实现 当重复定义,
报
duplicated
错误
,因为计算机不知道你要用哪个定义。 .c为源文件,先经过预编译,将头文件展开生成相应代码,接下来开始编译,生成对象文件.o,然后对所有对象文件
链接
打包,生成可执行程序.out
函数
未声明
错误
发生在编译阶段,此时进行语法检测,而
函数
未定义
错误
发生在
链接
阶段。 仅生成对象文件: gcc -c xxx.c 文件
C++ 语言
65,209
社区成员
250,519
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章