Теперь я сталкиваюсь с проблемой кода на C ++.
Я сделал простую структуру Vector3, в которой определил оператор +.
и когда я использую этот оператор внутри константной функции, он показывает красную линию.
struct Vector3 {
float x, y, z;
Vector3 operator+ (const Vector3 v) {
return Vector3(x + v.x, y + v.y, z + v.z);
};
Vector3(float x, float y, float z) : x(x), y(y), z(z) {};
};
// and i use it inside some const function
struct SomeST {
Vector3 a,b;
Vector3 Function() const
{
return a + b; // error
}
};
и если я удаляю const из функции, это работает!
так что было бы удивительно, если бы кто-то мог объяснить, что происходит под капотом.
спасибо.