我有几个不想被复制的类,其中一些类具有指针数据成员。为了使这些类不可复制我私有继承,下面的类模板:当使用“不可复制”类时使GCC警告无效
template <class T>
class Uncopyable
{
protected:
Uncopyable() {}
virtual ~Uncopyable() {}
private:
Uncopyable(const Uncopyable &);
T & operator=(const T&);
};
这在我以前像这样:
class Entity : private Uncopyable<Entity> { }
这工作得很好,但是当我用-WeffC++编译我仍然得到以下警告:
class Entity has pointer data members
but does not override Entity(const Entity&)
or operator=(const Entity&)
为什么它仍然给我这个警告?
你使用的是什么版本的g ++? – codelogic 2008-12-27 10:44:57
我正在使用g ++ 4.3 – Kazade 2008-12-27 12:00:38