используя 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. Просто писать меньше
Обсуждают сегодня