Witam!
Chcę stworzyć prostą symulację grawitacji i potrzebne mi są wektory, które mógłbym dodawać. Napisałem więc tak:
//MAIN
Vector* v1 = new Vector(QPointF(0,0), QPointF(4,0));
Vector* v2 = new Vector(QPointF(0,0), QPointF(0,3));
Vector* v3 = new Vector(QPointF(0,0), QPointF(0,0));
v3 = v1 + v2;
//VECTOR.H
Vector(QPointF start, QPointF end);
Vector* operator+(Vector* vec);
void operator=(Vector* vec);
//VECTOR.CPP
Vector* Vector::operator+(Vector* vec)
{
QPointF vec_start = vec->getStart();
QPointF vec_end = vec->getEnd();
QPointF new_start = QPointF(vec_start.x() + start.x(), vec_start.y() + start.y());
QPointF new_end = QPointF(vec_end.x() + end.x(), vec_end.y() + end.y());
Vector* new_vec = new Vector(new_start, new_end);
return new_vec;
}
(tylko fragmenty kodu ale nic innego nie powoduje problemu) Kiedy próbuję skompilować wyskakuje mi błąd:
error: invalid operands of types 'Vector*' and 'Vector*' to binary 'operator+ v3 = v1 + v2.
Co może być przyczyną?