0

参照パラメーターを使用して車のオブジェクトから情報を出力する、非クラス メンバーのオーバーロードされた put 演算子が必要です。

これが私のコードです:

ostream& operator<<(ostream& os, Car& p)
{
         os << "For a car make " << p.get_make() << ", " << p.get_year()<< ", the price is $" << p.get_price()  << endl;
         return os;
}

std::ostream& Car::operator<<(std::ostream&, Car&)' must take exactly one argumentエラーが発生する

Car をパラメーターとして使用することはできませんか?

ありがとう。

4

1 に答える 1

4

非メンバー演算子を定義したいと言いました。それでも、演算子定義をクラス定義内に配置したため、コンパイラはそれをメンバーとして扱いました(この演算子のメンバー実装にはパラメーターが 1 つしかないため、エラー メッセージが表示されます)。非メンバー演算子を定義する場合は、クラス定義の外に移動するか、次のように宣言しますfriend(またはその両方) 。

于 2012-11-21T03:57:46.410 に答える