使类构造函数私有

小型客车

我正在用C ++写一个简单的垃圾收集器。我需要一个Singleton类GarbageCollector来处理不同类型的内存。我使用了迈耶的单例模式。但是,当我尝试调用实例时,出现错误:

 error: ‘GarbageCollector::GarbageCollector(const GarbageCollector&)’ is private
    GarbageCollector(const GarbageCollector&);
    ^

这是类的定义。

class GarbageCollector //Meyers singleton (http://cpp-reference.ru/patterns/creational-patterns/singleton/)
{
 public:
    static GarbageCollector& instance(){
        static GarbageCollector gc; 
        return gc; 
    }   
    size_t allocated_heap_memory;
    size_t max_heap_memory;
private:
    //Copying, = and new are not available to be used by user.
    GarbageCollector(){};
    GarbageCollector(const GarbageCollector&);
    GarbageCollector& operator=(GarbageCollector&);
};

我用以下行调用该实例: auto gc = GarbageCollector::instance();

songyuanyao

改变

auto gc = GarbageCollector::instance();

auto& gc = GarbageCollector::instance();

否则gc不是引用,则GarbageCollector需要复制返回的内容,但是复制ctor是私有的,这就是编译器抱怨的原因。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

用私有构造函数扩展类

来自分类Dev

如何在单独的类中访问私有构造函数?

来自分类Dev

使用私有构造函数扩展类的技术

来自分类Dev

仅使用私有构造函数扩展类

来自分类Dev

抽象类与私有构造函数

来自分类Dev

基类“ QAbstractListModel”具有私有副本构造函数

来自分类Dev

如何使用私有构造函数从类创建对象?

来自分类Dev

如何使用私有构造函数测试最终类?

来自分类Dev

在F#中使用私有构造函数创建类

来自分类Dev

在值类上使用私有构造函数是否会否定值类的好处?

来自分类Dev

Scala抽象类中的私有构造函数?

来自分类Dev

使类抽象vs使构造函数私有

来自分类Dev

将私有变量传递给基类构造函数

来自分类Dev

无法访问Friend类的私有构造函数

来自分类Dev

使类构造函数私有

来自分类Dev

Scala案例类的私有构造函数不是私有的

来自分类Dev

从C ++中的私有模板类继承构造函数

来自分类Dev

通过派生类构造函数继承访问自己的私有构造函数

来自分类Dev

使用私有构造函数

来自分类Dev

使用私有构造函数将类子类化

来自分类Dev

Scala抽象类中的私有构造函数?

来自分类Dev

在C ++中访问模板类的私有构造函数

来自分类Dev

用私有构造函数测试一个类

来自分类Dev

派生类不能访问私有成员(尽管构造函数是在基类中定义的)

来自分类Dev

将带有私有构造函数(工厂模式)的类实例传递给函数

来自分类Dev

简单的 Matrix 类,错误:调用私有构造函数

来自分类Dev

通过泛型类获取带有私有构造函数的静态类的实例

来自分类Dev

创建具有私有构造函数的类模板的实例

来自分类Dev

具有私有构造函数的类的静态成员

Related 相关文章

热门标签

归档