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。 –