は、私はそうのようなクラスがあるとしましょう:このオーバーロードされたフレンド関数でC++エラー:(プライベートデータメンバー)がこのスコープで宣言されていなかった
class Ingredient
{
public:
friend istream& operator>>(istream& in, Ingredient& target);
friend ostream& operator<<(ostream& out, Ingredient& data);
private:
Measure myMeas;
MyString myIng;
};
、私はmyIng
友人の機能でIngredientクラスのプライベートデータメンバーの値を設定していて、友人の関数がすべてのプライベートデータメンバーにアクセスできる必要があるので、これはうまくいくはずですか?
しかし、私はこのエラーを受け取ります:‘myIng’ was not declared in this scope
これはなぜ起こっているのですか?
をと 'in'を返すことを忘れないでください:あなたが書く必要がありますので、
myIng
部材を有するそのIngredient& target
。 – Joe@Jon:opps ...それをキャッチするために感謝! –