Recientemente me encontré con alguna clase de aspecto extraño que tenía tres constructores:¿Palabra clave explícita en el constructor multi-arg?
class Class
{
public:
explicit Class(int);
Class(AnotherClass);
explicit Class(YetAnotherClass, AnotherClass);
// ...
}
Esto no tiene mucho sentido para mí - pensé que la palabra clave explícita es la de proteger la construcción elegido compilador de un tipo extraño.
¿Esto está permitido? Si es así, ¿qué significa?
este duplicado obtuvo más/mejores respuestas: [¿Por qué se permite explícitamente a los constructores y constructores predeterminados con 2 o más parámetros (no predeterminados)?] (Https://stackoverflow.com/questions/4467142/why-is- explicit-allowed-for-default-constructors-and-constructors-with-2-or-more) –