正如问题所述,我正在尝试初始化一个静态类成员变量,使用这个类的静态成员函数,但在运行时的选定时间。
这是因为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‘的复制赋值运算符,因为字段’*‘没有复制赋值运算符
https://stackoverflow.com/questions/56763320
复制相似问题