我得到这个:C++:正确的方法来初始化成员结构的静态字段
// mouse.h
class Mouse {
private:
struct Pos {
static GLfloat x;
static GLfloat y;
};
static Pos last;
}
这:
// mouse.cpp
// 1)
Mouse::Pos Mouse::last = {};
// 2)
Mouse::Pos Mouse::last = { 0.0, 0.0 };
// 3)
Mouse::last.x = 0.0f;
Mouse::last.y = 0.0f;
1)
,2)
和3)
是我在初始化该做出的努力事情。我知道头文件应该声明last
是static
,并且源代码应该初始化它,但是我的所有尝试都出错了。有人能告诉我做这种事的正确方法吗?我错过了一些非常重要的观点吗?这是无稽之谈吗?这些字段是静态的,这一点很重要。谢谢。
_something一直wrong_是不是一个有用的问题说明。究竟是什么错误? –
不知道你在做什么,但至少嵌入结构中的GLfloats应该不是静态的。 – DrPepperJo
Pos结构被用作“命名空间”。 – KIIV