我懂了:
// 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
,而源应将其初始化,但是我的所有尝试都出了点问题。有人可以告诉我做这种事情的正确方法吗?我是否错过了一些非常重要的观点?这是胡说八道吗?重要的是字段是静态的。谢谢。
您无需将Pos内容声明为静态。
// mouse.h
class Mouse {
private:
struct Pos {
GLfloat x;
GLfloat y;
};
static Pos last;
}
Mouse::Pos Mouse::last = { 0.0, 0.0 };
这也应该工作
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句