11
GCC 4.5没有让我这样做:我可以在类体中默认一个私有构造函数吗?
class foo {
public:
foo() = default;
private:
foo(foo const&) = default;
foo& operator=(foo const&) = default;
};
它抱怨说:
error: 'foo::foo(const foo&)' declared with non-public access cannot be defaulted in the class body
error: 'foo& foo::operator=(const foo&)' declared with non-public access cannot be defaulted in the class body
然而,GCC 4.6让我这样做。哪一个是正确的?
有时只是很高兴默认为私人... –
“如果两者都冻结,在水上行走和从规范开发软件很容易。” - E. Berard。 –