问题描述:
学习C++时遇到一个问题:VisualStudio提供了把写在.h文件中的函数定义一键转移到.cpp中的功能,不过转移后定义前面会添加inline关键字。然而在编译时编译器会报错:无法解析的外部符号。将inline关键字去掉之后可以成功编译。这是怎么一回事呢?
解决方法:
写了inline之后,编译器可能会进行函数内联,对函数进行直接展开,即用函数定义的内容替换掉函数名。对外表现为无法实现函数调用。故导出的不应该进行内联。
本文探讨了Visual Studio中将.h文件中的函数定义转移至.cpp文件时出现的问题:转移后添加inline关键字导致编译错误的情况。解释了inline关键字的作用及不当使用可能导致的编译问题,并给出了正确的解决方案。
问题描述:
学习C++时遇到一个问题:VisualStudio提供了把写在.h文件中的函数定义一键转移到.cpp中的功能,不过转移后定义前面会添加inline关键字。然而在编译时编译器会报错:无法解析的外部符号。将inline关键字去掉之后可以成功编译。这是怎么一回事呢?
解决方法:
写了inline之后,编译器可能会进行函数内联,对函数进行直接展开,即用函数定义的内容替换掉函数名。对外表现为无法实现函数调用。故导出的不应该进行内联。
6964
2975
623

被折叠的 条评论
为什么被折叠?
