还在苦苦敲代码开发APP?你out啦! 试试积木搭建APP吧~

error LNK2001: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > &__cdecloperator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class Sales_item const &)"

来源:清泛编译     2016-10-24 16:51:19    人气:     我有话说( 0 人参与)

内联函数不同与其它函数的一点是,内联函数应该在头文件中定义。

Compiling...main.cppLinking...main.obj :error LNK2001: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > &__cdecloperator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class Sales_item const &)"(??6@YAAAV?$basic_ostream@DU$char_traits@D@std@@@std@@AAV01@ABVSales_item@@@Z)

....(省略后续同类错误)

Sales_item.exe - 4 error(s), 0 warning(s)

错误原因之一,在于将inline函数的实现放在了单独的实现文件中了,解决方法:

inline函数的实现放置在头文件中。
 

具体请参考如下:

《高质量C++编程》的作者林锐博士推荐内联函数放在头文件中,认为这是一种良好的编程风格。

《C++ Primer》(第三版,Stanley B Lippman Josee Lajoie 著,潘爱民 张丽译)提到内联函数不同与其它函数的一点是,内联函数应该在头文件中定义。

error LNK2001 inline 内联函数

注:本文为本站或本站会员原创优质内容,版权属于原作者及清泛网所有,
欢迎转载,转载时须注明版权并添加来源链接,谢谢合作! (编辑:admin)
分享到: