Как объявить значения статических констант в C ++?Я хочу получить константу Vector3 :: Xaxis, но не могу ее изменить.
Я видел следующий код в другом классе:
const MyClass MyClass::Constant(1.0);
Я пытался реализовать это в своем классе:
static const Vector3 Xaxis(1.0, 0.0, 0.0);
Однако я получаю сообщение об ошибке
math3d.cpp:15: error: expected identifier before numeric constant
math3d.cpp:15: error: expected ‘,’ or ‘...’ before numeric constant
Затем я попытался сделать что-то более похожее на то, что я делал бы в C #:
static Vector3 Xaxis = Vector3(1, 0, 0);
Однако я получаю другие ошибки:
math3d.cpp:15: error: invalid use of incomplete type ‘class Vector3’
math3d.cpp:9: error: forward declaration of ‘class Vector3’
math3d.cpp:15: error: invalid in-class initialization of static data member of non-integral type ‘const Vector3’
Мои важные части моего класса до сих пор выглядят так:
class Vector3
{
public:
double X;
double Y;
double Z;
static Vector3 Xaxis = Vector3(1, 0, 0);
Vector3(double x, double y, double z)
{
X = x; Y = y; Z = z;
}
};
Как мне добиться того, что я пытаюсьделать здесь?Иметь Vector3 :: Xaxis, который возвращает Vector3 (1.0, 0.0, 0.0);