Code: Alles auswählen
class test {
explicit test(QObject *parent = NULL);
......
};
Das Keyword "explicit" verhindert implizite ( vom jeweiligen Compiler vorgenommene) Typumwandlung.
Das bringt im Beispiel oben nicht wirklich was, da es eine implizierte Typumwandlung bei QObject nicht gibt.
Ich halte aber grundsätzlich eine Fehlermeldung des Compilers bei unklaren Typen für sinnvoller als eine moglicherweise falsche Typkonvertierung, deshalb verwende ich
auch immer "explicit" im Konstruktor.
Gibt es Nachteile wenn "explicit" verwendet wird?
Gruß Sig