경고는 ostream & operator<<(ostream &os, A &A0)
함수에 의해 생성됩니다.친구 클래스의 return 문이 없습니다.
다음은 클래스의 정의 방법은 다음과 같습니다
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로 전달할 수없는 이유는 무엇입니까? (이 경우 오류는 "const A '를'this '로 전달합니다. 'std :: string A :: slotReturn()'의 인수가 한정어를 버립니다.)?
'slotReturn()'을 만들어야하기 때문에 ac onst 방법, 내 대답에 제안했다. – juanchopanza