gpt4 book ai didi

c++:初始化成员结构的静态字段的正确方法

转载 作者:太空宇宙 更新时间:2023-11-04 14:53:08 25 4
gpt4 key购买 nike

我明白了:

// 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) 是我在初始化那个东西时所做的尝试。我知道 header 应该声明 laststatic,并且源应该初始化它,但是我的所有尝试都出了问题。有人可以告诉我做这样的事情的正确方法吗?我错过了一些非常重要的点吗?这是废话吗?字段是静态的很重要。谢谢。

最佳答案

您无需将 Pos 内容声明为静态。

// mouse.h

class Mouse {
private:
struct Pos {
GLfloat x;
GLfloat y;
};
static Pos last;
}

Mouse::Pos Mouse::last = { 0.0, 0.0 };

这应该也行

关于c++:初始化成员结构的静态字段的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40804836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com