首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在运行时使用静态成员函数初始化静态成员变量?

如何在运行时使用静态成员函数初始化静态成员变量?
EN

Stack Overflow用户
提问于 2019-06-26 07:36:47
回答 2查看 98关注 0票数 1

正如问题所述,我正在尝试初始化一个静态类成员变量,使用这个类的静态成员函数,但在运行时的选定时间。

这是因为GameDataLocalResource的复制构造函数被隐式删除,因为它的一个字段没有复制赋值运算符。因此,我尝试定义复制构造函数,但在编译时仍然得到相同的错误。

我该如何处理这个问题呢?请记住,我是C++的初学者。

我看了很多关于如何在运行时初始化静态成员变量的线程,但似乎没有一个适合我的情况。

//*.h file
class GameDataResource
{

private:
    static GameDataLocalResource local_resource;

public:
    static void initializeLocalResource();
    static GameDataLocalResource  getLocalResource();
}

//*.cpp file

void GameDataResource::initializeLocalResources()
{
    GameDataResource::local_resource = GameDataLocalResource();
}

GameDataLocalResource GameDataResource::getLocalResources()
{
    return GameDataResource::local_resource;
}

//main.cpp

int main(int argc, char *argv[])
{
...
    GameDataResource::initializeLocalResources();
    qDebug() << GameDataResource::getLocalResources().getLoadingPercentage();
...
}

我希望得到加载百分比的值,但我得到的却是:

已隐式删除'GameDataLocalResource‘的复制赋值运算符,因为字段’*‘没有复制赋值运算符

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56763320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档