gpt4 book ai didi

c++ - 创建一个不可复制的类并继承到我的类中

转载 作者:太空狗 更新时间:2023-10-29 21:05:39 26 4
gpt4 key购买 nike

我正在尝试创建一个不可复制的类并将其继承给 myclass。代码如下所示:

template<class T>
struct NonCopyable
{
protected:
NonCopyable() {}
private:
NonCopyable(const NonCopyable& x) = delete;
T& operator=(const T& x) = delete;
};

delete 允许第三种机制通过重新使用 delete 关键字将函数定义为“已删除”。

class Myclass : public RefCnt, private NonCopyable<Myclass>
{
virtual unsigned int GetID() = 0;
virtual bool Serialize() = 0;
};

现在,当我尝试此操作时,我在 VS 2010 上收到错误消息:'NonCopyable':纯说明符或抽象覆盖说明符仅允许在虚函数上使用。

编译器认为我正在尝试创建一个非虚函数作为纯函数。有人可以解释为什么吗?我可以通过删除“删除”关键字来解决上述问题。

最佳答案

从这个可以看出post vs2010 不支持默认或删除的功能。就此而言,vc11 也不会

关于c++ - 创建一个不可复制的类并继承到我的类中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9458526/

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