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 &)"
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 著,潘爱民 张丽译)提到内联函数不同与其它函数的一点是,内联函数应该在头文件中定义。
上一篇:OnInitUpdate、OnUpdate、OnDraw与OnPaint
下一篇:error C2664: “find_char”: 不能将参数 1 从“const char [14]”转换为“std::string &