dod*_*gel 3 c++ singleton copy-constructor visual-studio-2012
我有以下问题.我有一个带有getInstance成员函数的单例,它返回一个实例.我在代码中调用它,由于某种原因,VC尝试调用复制构造函数.为什么是这样?我该如何解决?
标题:
class FileSystemEntryCollection {
public:
static FileSystemEntryCollection &getInstance();
private:
FileSystemEntryCollection();
FileSystemEntryCollection(FileSystemEntryCollection const&);
void operator=(FileSystemEntryCollection const&);
}
Run Code Online (Sandbox Code Playgroud)
源文件:
FileSystemEntryCollection &FileSystemEntryCollection::getInstance() {
static FileSystemEntryCollection instance = FileSystemEntryCollection();
return instance;
}
Run Code Online (Sandbox Code Playgroud)
以下行调用复制构造函数:
auto collection = FileSystemEntryCollection::getInstance();
Run Code Online (Sandbox Code Playgroud)
我试着留下相关的代码,让我知道是否需要其他东西.
auto collection = FileSystemEntryCollection::getInstance();
Run Code Online (Sandbox Code Playgroud)
需要是:
auto& collection = FileSystemEntryCollection::getInstance();
^
Run Code Online (Sandbox Code Playgroud)
auto 它自己永远不是一个参考类型.
| 归档时间: |
|
| 查看次数: |
961 次 |
| 最近记录: |