我有一个重载的简单包类,因此我可以简单地使用 cout << packagename 输出包数据。我还有两种数据类型,名称是字符串,运费是双倍的。
protected:
string name;
string address;
double weight;
double shippingcost;
ostream &operator<<( ostream &output, const Package &package )
{
output << "Package Information ---------------";
output << "Recipient: " << package.name << endl;
output << "Shipping Cost (including any applicable fees): " << package.shippingcost;
问题出现在第 4 行(输出 <<“收件人:...)。我收到错误“没有运算符“<<”与这些操作数匹配”。但是,第 5 行很好。
我猜这与数据类型是包名称的字符串有关。有任何想法吗?