gpt4 book ai didi

c++ - 静态类变量的编译器错误

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

在我的类声明的 public 部分,我有这个:

static float m_screenWidth;
static float m_screenHeight;

然后我可以在类构造函数或其他地方将它们设置为我想要的任何值,但是,当我使用它们时编译器失败,说:

未定义的体系结构符号

在我尝试访问这些成员的任何行上都会注明这一点。在类方法中,我按名称访问它们。在非成员函数中,我使用 className:: 前缀访问它们。没关系,他们不喜欢。有什么建议吗?

值得注意的是,它们不会出现“未声明的”错误,因此它们在某种程度上得到了识别。

最佳答案

该错误消息是链接器失败消息,而不是编译器失败消息。它声明找不到变量的定义。

public 部分,它们是声明。它们必须在 class 定义之外被定义,恰好一次:

float className::m_screenWidth;
float className::m_screenHeight;

关于c++ - 静态类变量的编译器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14259877/

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