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)在多个文件中定义这个内联函数,重复定义也没关系,保证编译器能够找到

  

 

posted @ 2018-12-10 19:00  花花世界1202  阅读(1371)  评论(0编辑  收藏  举报