36行为什么报错:没有与这些操作数匹配的 ">>" 运算符。
vs2010下运行。
#include <iostream>
#include <string>
using namespace std;
struct Sales_data
{
string isbn() const {return bookNo;}
Sales_data& combine(const Sales_data&);
double avg_price() const;
string bookNo;
unsigned units_sold;
double revenue;
};
Sales_data& Sales_data::combine(const Sales_data &rhs)
{
units_sold +=rhs.units_sold;
revenue +=rhs.revenue;
return *this;
}
Sales_data add(const Sales_data &lhs,Sales_data &rhs)
{
Sales_data sum= lhs;
sum.combine(rhs);
}
ostream &print(ostream &os,const Sales_data& item)
{
os << item.isbn() << " " << item.units_sold << " "
<<item.revenue << " "<<item.avg_price();
return os;
}
istream &read(istream &is,const Sales_data &item)
{
double price=0;
is >> item.bookNo >>item.units_sold >> price;// **没有与这些操作数匹配的 ">>" 运算符**
}