一个奇怪的错误错误4error LNK1120: 3 个无法解析的外部命令G:\visual studio2010\visual studio 2010
错误1error LNK2019: 无法解析的外部符号 "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl operator<<(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),该符号在函数 _main 中被引用G:\visual studio2010\visual studio 2010 编程实例\lianxi2\lianxi2\sales_item.objlianxi2
错误2error LNK2019: 无法解析的外部符号 "class Sales_item __cdecl operator+(class Sales_item const &,class Sales_item const &)" (??H@YA?AVSales_item@@ABV0@0@Z),该符号在函数 _main 中被引用G:\visual studio2010\visual studio 2010 编程实例\lianxi2\lianxi2\sales_item.objlianxi2
错误3error LNK2019: 无法解析的外部符号 "class std::basic_istream<char,struct std::char_traits<char> > & __cdecl operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,class Sales_item &)" (??5@YAAAV?$basic_istream@DU?$char_traits@D@std@@@std@@AAV01@AAVSales_item@@@Z),该符号在函数 _main 中被引用G:\visual studio2010\visual studio 2010 编程实例\lianxi2\lianxi2\sales_item.objlianxi2
- C/C++ code
#include "Sales_item.h"#include <iostream>#include <string>using namespace std;inline Sales_item operator+(const Sales_item& lhs, const Sales_item& rhs) { Sales_item ret(lhs); // copy lhs into a local object that we'll return ret += rhs; // add in the contents of rhs return ret; // return ret by value}inline bool operator==(const Sales_item &lhs, const Sales_item &rhs){ // must be made a friend of Sales_item return lhs.units_sold == rhs.units_sold && lhs.revenue == rhs.revenue && lhs.same_isbn(rhs);}inline bool operator!=(const Sales_item &lhs, const Sales_item &rhs){ return !(lhs == rhs); // != defined in terms of operator==}using std::istream; using std::ostream;// assumes that both objects refer to the same isbninline Sales_item& Sales_item::operator+=(const Sales_item& rhs) { units_sold += rhs.units_sold; revenue += rhs.revenue; return *this;}// assumes that both objects refer to the same isbninline istream& operator>>(istream& in, Sales_item& s){ double price; in >> s.isbn >> s.units_sold >> price; // check that the inputs succeeded if (in) s.revenue = s.units_sold * price; else s = Sales_item(); // input failed: reset object to default state return in;}inline ostream& operator<<(ostream& out, const Sales_item& s){ out << s.isbn << "\t" << s.units_sold << "\t" << s.revenue << "\t" << s.avg_price(); return out;}inline double Sales_item::avg_price() const{ if (units_sold) return revenue/units_sold; else return 0;}感觉莫名其妙呀,代码都没写错呀!谢谢大家了
[解决办法]
你上面的代码没有被编进去。
[解决办法]
重建所有