ich auf einige seltsame aussehende Klasse kam vor kurzem die drei Konstrukteure hatten:Explizites Schlüsselwort für Konstruktor mit mehreren Argumenten?
class Class
{
public:
explicit Class(int);
Class(AnotherClass);
explicit Class(YetAnotherClass, AnotherClass);
// ...
}
Das ist wirklich nicht Sinn für mich - ich dachte, das explizite Schlüsselwort ist Compiler gewählte Konstruktion aus einer fremden Art zu schützen.
Ist das erlaubt? Wenn es so ist, was bedeutet es?
Dieses Duplikat hat mehr/bessere Antworten erhalten: [Warum ist explizit für Standardkonstruktoren und Konstruktoren mit 2 oder mehr (nicht standardmäßigen) Parametern erlaubt?] (Https://stackoverflow.com/questions/4467142/whyis- explizit-erlaubt-für-Standard-Konstruktoren-und-Konstruktoren-mit-2-oder-mehr) –