C++ 中内联函数 inline “无法解析的外部符号” 问题
复习C++时碰到了使用内联函数inline的情况。
其实情况也很简单,我在.h的类定义中声明了成员函数,在.cpp的实现中加入了inline关键词。编译器不断报错,“无法解析的外部符号”。情况即为下方:
在.h文件中:
class A { public: void show(); };
在.cpp中:
inline void A::show() { }
如上做法发生了“无法解析的外部符号”错误,搜索了下,给出几种做法:
(1)将inline的内联函数添加至main.cpp的文件中,保证编译器能够找到
(2)将inline的函数直接放在声明的.h头文件中(即声明与定义放在同一个文件中),保证编译器能够找到
(3)在多个文件中定义这个内联函数,重复定义也没关系,保证编译器能够找到