#ifndef SALESITEM_H
#define SALESITEM_H
#include <iostream>
#include <string>
using namespace std;
class Sales_data
{
public:
Sales_data(unsigned num,int pr , string isb):units_sold(num),price(pr),isbn(isb)
{
cout<<"it works"<<endl;
};
Sales_data() = default;
Sales_data& combine(const Sales_data& rhs);
string Getisbn() ;
int Getprice() ;
unsigned Getunits_sold();
private:
unsigned units_sold;
int price;
string isbn;
};
Sales_data& Sales_data::combine(const Sales_data& rhs)
{
units_sold += rhs.units_sold;
price += rhs.price;
return *this;
}
string Sales_data::Getisbn()
{
return isbn;
}
int Sales_data::Getprice()
{
return units_sold;
}
unsigned Sales_data::Getunits_sold()
{
return units_sold;
}
istream& read(istream& in,Sales_data &book)
{
in >>book.Getisbn();
return in;
}
そして、それは>> book.Getunits_sold() /Users/apple/Desktop/shirley/shirley/Sales_item.h:185でログ無効なオペランド:
でその問題を示し、それはと言う理由を私は知らないバイナリ表現( 'はistream'(別名 'basic_istream') と '文字列'(別名 'のbasic_string、 アロケータ>'))
あなたのインクルードが表示されるように完全な例を投稿してください。私は '#include'がそれらの一つではないと思うでしょう。 –
#includeがヘッダにあります –
あなたの例では '>>'があり、右側に文字列がありません。あなたの例には185行もありませんので、私はあなたが表示されていないコードにエラーがあると言います。あなたが 'book.Getunits_sold();'で何を考えているのかは分かりません。 –