GCC 4.5 no me deja hacer esto:¿Puedo elegir un constructor privado en el cuerpo de la clase o no?
class foo {
public:
foo() = default;
private:
foo(foo const&) = default;
foo& operator=(foo const&) = default;
};
Se queja de que:
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
Sin embargo, GCC 4.6 deja que lo haga yo. ¿Cuál es correcto?
A veces es bueno estar predeterminado en privado ... –
"Caminar sobre el agua y desarrollar software a partir de una especificación son fáciles si ambos están congelados". - E. Berard. –