概述
// TestA.h
class TestA { public: inline const char* GetName()const{return "Hello world";} };
以上代码编译no problem。因为声明与实现在一起,但是在实际项目中声明与实现是肯定不允许放在一起的。那么怎么办呢?
往下看:
// TestB.h class TestB { public: inline const char* GetName()const; };
// TestB.cpp const char* TestB::GetName()const { return "Hello world"; }
TestB与TestA一致,但是就是无法编译。原因就在于内联函数的声明与定义,必须在同一个文件。
也就是说要么在.h文件中声明并实现,要么在.cpp文件中声明和实现。
// TestC.h class TestC { public: inline const char* GetName()const; } const char* TestC::GetName()const { return "Hello world"; }
// TestD.cpp class TestD { public: inline const char* GetName()const; } const char* TestD::GetName()const { return "Hello world"; }
以上代码都可以编译通过。
转载于:https://www.cnblogs.com/LandyTan/p/10526913.html
最后
以上就是玩命楼房为你收集整理的内联函数声明与实现分为两个文件导致编译出错问题的全部内容,希望文章能够帮你解决内联函数声明与实现分为两个文件导致编译出错问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复