-1
다항식 클래스를 작성해 왔고 연산자를 오버로드했습니다. 나는 성공적으로 + = 연산자를 오버로드하여 (이제는) 관리 할 수있게되었고, 이제는 많은 소스에서 권고 된 것처럼 추가를 위해 + =를 사용하는 외부 함수를 만들었습니다. 그것은 작동하지만이오버로드 된 + 연산자 연결
poly a, b, c, d;
a=b+c+d;
같은 다항식을 추가하려고하면 나는 오류 얻을 어떤 이유로 그들을 체인 수 없습니다 : '폴리 :: 폴리 (CONST 폴리)'에 대한 호출에 대한 일치하는 기능을
를내 + = 함수의 본체는 모두 중요하지 않지만 그게 어떤 건지입니다 :
poly& operator+= (const poly& a){
//implemented +=
return *this;
}
내 추가 기능 (클래스 외부) 다음과 같습니다
const poly operator+ (poly a, const poly & b){
a+= b;
return a;
}
여기서 내가 뭘 잘못하고 있니?
왜'operator +'는'const'를 반환합니까? – vu1p3n0x
'a'와'b'는'const &'이어야합니다. –
[copy constructor] (https://stackoverflow.com/questions/2168201/what-is-a-copy-constructor-in-c)이 누락되었습니다. –