Gegeben 2 Klassen:
%Vor%Und ein kurzes Hauptprogramm:
%Vor%Dieser Code funktioniert einwandfrei. Aber bei Tippfehlern die Zeile:
%Vor%wurde geändert zu:
%Vor%und trotzdem besteht es die Kompilation. Was für eine einfache Änderung kann ich im Code (dem Hauptcode) vornehmen, um einen Kompilierungsfehler durch diesen Tippfehler zu bekommen?
Dies liegt daran, dass Grades einen Konstruktor mit einem einzigen Argument besitzt, der als Konvertierungskonstruktor fungiert. Ein solcher Konstruktor verwendet ein int-Argument und erstellt ein Objekt vom Typ Grades.
Daher ist die Kompilierung erfolgreich.
Machen Sie den Ersteller von 'Grades' explizit
%Vor%Dies wird
nicht zulassen %Vor%erlaubt aber alle folgenden
%Vor%Tags und Links c++ constructor explicit