커스텀 C++ 클래스를 사용하여 3D 위치를 관리 할 때 도움이 필요합니다.커스텀 C++ 클래스의 버그
p = fem->elementoFrontera[i]->nodo[0] - fem->elementoFrontera[i]->nodo[1];
곳은 있소 [i]를하는 푼토 *이며, 잘 컴파일하지만 내가하려고하면 여기에 내가 같이 여기를 사용하고
Punto operator+(Punto p){
return Punto(this->x + p.x, this->y + p.y, this->z + p.z);
}
Punto operator+(Punto *p){
return Punto(this->x + p->x, this->y + p->y, this->z + p->z);
}
Punto operator-(Punto p){
return Punto(this->x - p.x, this->y - p.y, this->z - p.z);
}
Punto operator-(Punto *p){
return Punto(this->x - p->x, this->y - p->y, this->z - p->z);
}
Punto *operator=(Punto p){
this->x = p.x;
this->y = p.y;
this->z = p.z;
return this;
}
Punto *operator=(Punto *p){
this->x = p->x;
this->y = p->y;
this->z = p->z;
return this;
}
클래스에서 해당 코드는 할 :
p = fem->elementoFrontera[i]->nodo[0] + fem->elementoFrontera[i]->nodo[1];
을 컴파일러는 말한다 :
멤버 함수년푼토 * '와
Punto*' to binary
연산자 +'
생성자와 .h 코드를 얻을 수 있습니까? –
Punto (double _x, double _y, double _z) { x = _x; y = _y; z = _z; (Punto * v) { x = v-> x; y = v-> y; z = v-> z; } Punto (const Punto & v) { x = v.x; y = v.y; z = v.z; } –
이와 같은 혼란은 연산자 오버로드를 피하는 훌륭한 사례입니다 ... – ojrac