[quote=引用 5 楼 zxc024000 的回复:] 如果,内联函数在头文件中声明,在源文件中定义。当其他源文件中,引入声明内联的头文件,并使用该内联函数时。 一般,编译可以通过,但链接时会报,你贴图的那种错误(也就是找不到内联函数的定义)。 原因是:内联函数,其实并不算一种常规的函数(一段可重复使用,存在与虚拟地址中的代码区,当需要使用该函数时,可以去跳转到该空间,执行这段代码)。内联的话,可以理解为一段宏定义,将内联定义的代码,直接插入到调用的地方。 所以,对于内联函数,要么在头文件中声明,在每个使用它的源文件中重新定义。。要么,直接在头文件中定义,在其他源文件中直接使用。
如果,内联函数在头文件中声明,在源文件中定义。当其他源文件中,引入声明内联的头文件,并使用该内联函数时。 一般,编译可以通过,但链接时会报,你贴图的那种错误(也就是找不到内联函数的定义)。 原因是:内联函数,其实并不算一种常规的函数(一段可重复使用,存在与虚拟地址中的代码区,当需要使用该函数时,可以去跳转到该空间,执行这段代码)。内联的话,可以理解为一段宏定义,将内联定义的代码,直接插入到调用的地方。 所以,对于内联函数,要么在头文件中声明,在每个使用它的源文件中重新定义。。要么,直接在头文件中定义,在其他源文件中直接使用。
其它的内联函数没有在 main.cpp 当中使用到呗.
什么错?代码?
[quote=引用 8 楼 weixin_42359982 的回复:] 我想可能是第二条吧,函数是不是用内联由编译器决定
我想可能是第二条吧,函数是不是用内联由编译器决定
64,654
社区成员
250,484
社区内容
加载中
试试用AI创作助手写篇文章吧