警告はostream & operator<<(ostream &os, A &A0)
関数によって生成されています。
クラスの定義方法は次のとおりです。
class A
{
public:
friend ostream & operator<<(ostream &os, A &A0);
A& operator=(string strSlot_);
A& operator+(string strSlot_);
A& operator+(const A &B);
A& operator=(const A &B);
string slotReturn();
A(string strSlot_);
A(const A &object);
void slotChange();
void sCout();
~A();
A();
private:
string strSlot;
int n;
};
ostream & operator<<(ostream &os, A &A0)
{
os << "strSlot = \"" << A0.slotReturn() << "\"" << endl;
}
string A::slotReturn()
{
return strSlot;
}
問題は、何が返ってくるのかということです。*this
動作していないようです(friend
?なので)。(これは単なる警告ですが、それでも知りたいだけです。)
また、なぜA &A0
constとして渡すことができないのですか(この場合、エラーは「'std :: string A :: slotReturn()'の'this'引数として'const A'を渡すと、修飾子が破棄されます」)?