используя static, вот что у меня получилось (производится операция над векторами в 3х мерном пространстве)
static Vector operator - (Vector &obj1, Vector &obj2) {
Vector temp;
temp.x = obj1.x - obj2.x;
temp.y = obj1.y - obj2.y;
temp.z = obj1.z - obj2.z;
return temp;
}
но при вызове vec3.operator-(vec1, vec2); появляется ошибка "Vector::operator -" не должен быть статическим членом, ЧЯДНТ?
Может он имел ввиду сделать operator- не членом класса, а свободной функцией?
И вызывай vec1 - vec2, а не через полную форму
Не static member, а просто глобальная фукнция, вне класса должна быть. Но для операций типа -+ и т.д ЛУЧШЕ использовать именно member function. Просто писать меньше
Обсуждают сегодня