+ 연산자를 오버로드하여 두 클래스를 사용하려고합니다. Polynomial이라는 각 클래스 안에는 polyStruct라는 구조체가 있습니다.이 구조체에는 데이터를 추가하고 그 합계를 다시 전달합니다. 그러나 나는 운이 없다.형식의 잘못된 피연산자 클래스 포인터 및 이진 연산자에 대한 포인터 포인터 +
전체 오류 : 오류 : 여기
class Polynomial {
public:
Polynomial();
Polynomial(ifstream *data);
Polynomial* copyPolynomial();
Polynomial* add(Polynomial *sec);
Polynomial operator+(const Polynomial& sec);
Polynomial* subtract(Polynomial *sec);
//poly operator-(const poly&);
bool equalPoly(Polynomial *sec);
double evaluate(int x);
int getDegree();
void print();
private:
struct poly {
int exp;
double coeff;
} *polyStruct;
List polyList;
};
내 운영자 과부하입니다 : "* 다항식"유형의 유효하지 않은 피연산자와 이진 "연산자 +"에서 "다항식 *"여기
내 클래스 :
Polynomial Polynomial::operator+(const Polynomial& sec) {
Polynomial temp = new Polynomial();
temp.polyStruct->exp = polyStruct->exp;
temp.polyStruct->coeff = polyStruct->coeff + sec.polyStruct->coeff;
return temp;
}
나는 다음과 같은 일을 오전 내 OPERATOR 시스템 사용하기 : newPoly = 주 + 초를; 여기서 모든 변수는 개별 초기화 된 다항식입니다. 무엇이 잘못하고 있는지에 대한 아이디어가 있습니까?