转发自这位老哥 :https://blog.youkuaiyun.com/weixin_40676516/article/details/84643105
,调试几天代码,竟然因为在cpp中加了inline而一直没有编译通过,真痛苦,不得不怀疑自己,看了这篇博客,才不由得恍然大悟,感谢博主!!!!
解决方法一:同时存在.h和.cpp,cpp中函数已经定义,依旧提示无法解释的外部符号
VS中对文件有中表示,可以通过选中.h或.cpp文件,右键,属性–通常–项类型中
C/C++标头是针对头文件的,C/C++编译器是针对cpp文件,根据这个改正就好了
这次出现的原因应该是本人一开始在.h文件中定义函数,而没有创建一个cpp文件,VS把它当成cpp来用吧
后来本人又创建了一个cpp文件,C/C++编译器属性被.h文件占用了,cpp文件就不认识了
解决方案二:
.cpp 文件中没有包含.h文件
解决方案三:
在.cpp文件中不能将类的实现变成inline函数,否则也会出现这种错误。