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''作爲'this'傳遞' 'std :: string A :: slotReturn()'拋棄限定符「)的參數?
因爲你需要使'slotReturn()'ac按照我的回答建議的方法。 – juanchopanza