gpt4 book ai didi

c++ - 在单例类上调用的复制构造函数

转载 作者:太空狗 更新时间:2023-10-29 20:05:43 24 4
gpt4 key购买 nike

我有以下问题。我有一个带有返回实例的 getInstance 成员函数的单例。我在代码的某个地方调用它,出于某种原因 VC 试图调用复制构造函数。为什么是这样?我该如何解决这个问题?

标题:

class FileSystemEntryCollection {
public:
static FileSystemEntryCollection &getInstance();
private:
FileSystemEntryCollection();
FileSystemEntryCollection(FileSystemEntryCollection const&);
void operator=(FileSystemEntryCollection const&);
}

源文件:

FileSystemEntryCollection &FileSystemEntryCollection::getInstance() {
static FileSystemEntryCollection instance = FileSystemEntryCollection();
return instance;
}

下面一行调用复制构造函数:

auto collection = FileSystemEntryCollection::getInstance();

我已尝试留下相关代码,如果需要其他内容,请告诉我。

最佳答案

auto collection = FileSystemEntryCollection::getInstance();

需要:

auto& collection = FileSystemEntryCollection::getInstance();
^

auto 本身绝不是引用类型。

关于c++ - 在单例类上调用的复制构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12021192/

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