我得到這個: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