Я пытаюсь создать структуру Vector3, но каждый раз, когда я использую оператор *, кажется, возникает исключение «нарушение прав чтения». Я новичок в C ++ и понятия не имею, что является причиной этого. VS 2017, Debug, x86
Код
float x, y, z;
Vec3 operator+(Vec3 d) {
return { x + d.x, y + d.y, z + d.z };
}
Vec3 operator-(Vec3 d) {
return { x - d.x, y - d.y, z - d.z };
}
Vec3 operator*(float d) {
return { x * d, y * d, z * d }; // throwing an exception
/*
Unhandled exception thrown: read access violation.
this was 0x302C.*/
}
void Normalize() {
while (y < -180) {
y += 360;
};
while (y > 180) {
y -= 360;
};
if (x > 89) {
x = 89;
};
if (x < -89) {
x = -89;
};
}
};
// example code
uintptr_t c= *(uintptr_t*)(ModuleHandle+ 0x2);
Vec3* b= (Vec3*)(c+ 0x1);
Vec3 a= *b* 2;