gpt4 book ai didi

c++ - 错误 : expected unqualified-id before ‘.’ token

转载 作者:太空狗 更新时间:2023-10-29 19:37:07 25 4
gpt4 key购买 nike

class A
{
private:
A () {}

public:
static A* getInstance ()
{
return new A ();
}
};

int main ()
{
A.getInstance ();
return 0;
}

导致如题所述的错误。我确实意识到,如果我在类 A 中创建一个变量并在那里实例化它并直接返回它,错误就会消失。

但是,这里我想了解这个错误是什么意思,为什么我不能这样使用。

最佳答案

您需要使用范围解析运算符调用该方法 - :::

 A::getInstance ();

另外,如果这是一个单例,那是非常糟糕的。每当您调用 getInstance() 时,您都会收到一个新对象,如果您忘记删除任何实例,就会遇到内存泄漏。

单例通常是这样实现的:

class A
{
private:
A () {}
static A* instance;
public:
static A* getInstance ()
{
if ( !instance )
instance = new A ();
return instance;
}
};

//implementation file
A* A::instance = NULL;

关于c++ - 错误 : expected unqualified-id before ‘.’ token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10430147/

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