alligator Geschrieben 17. April 2003 Geschrieben 17. April 2003 Hi zusammen hier erstmal etwas QT: #include <iostream.h> #include <conio.h> class qm { float laenge, breite, ergebnis; void calc (); public: qm(float l, float ; qm(void); void get (); }; qm::qm(float lae=0, float bre=0) { laenge=lae; breite=bre; ergebnis=0; } qm::qm(void) { laenge=100; breite=100; ergebnis=0; } void qm::calc () { ergebnis=laenge*breite; } void qm::get () { qm::calc(); cout << endl << laenge << endl; cout << endl << breite << endl; cout << endl << ergebnis << endl; } int main () { qm test; test.get(); getch(); } Nun ist mein Problem, dass sich der parameterlose Kosntruktor nicht mit meinem Konstruktor mit Parameter verträgt. Wenn ich einen raus schmeisse dann tuts. Oder kann ich Konstruktoren garnicht überladen ? Fehlermeldung: Ambiguity between qm::qm(float,float) and qm::qm() Danke für Hilfe cya alligator Zitieren
nic_power Geschrieben 17. April 2003 Geschrieben 17. April 2003 Die beiden Konstruktoren qm::qm(float,float) und qm::qm() sind auch ambiguous, da Du folgendes Konstrukt verwendest: qm::qm(float lae=0, float bre=0). Der Compiler kann in diesem Fall nicht entscheiden, welcher Constructor verwendet werden soll, da es zwei parameterlose gibt, die matchen. Nic Zitieren
alligator Geschrieben 17. April 2003 Autor Geschrieben 17. April 2003 Hi hmm versteh ich nicht, denn qm::qm(float lae=0, float bre=0). ist doch nicht parmeterlos, sondern es wird nur ein Standardparameter gesetzt. Aber recht hast du, dass es tut wenn ich =0 wegmachen ... cya alligator Zitieren
DBO Geschrieben 19. April 2003 Geschrieben 19. April 2003 Original geschrieben von alligator Hi hmm versteh ich nicht, denn qm::qm(float lae=0, float bre=0). ist doch nicht parmeterlos, sondern es wird nur ein Standardparameter gesetzt. Aber recht hast du, dass es tut wenn ich =0 wegmachen ... cya alligator ups text verschwunden, nochmal: du hast schon recht, qm::qm(float lae=0, float bre=0) ist nicht parameterlos! Allerdings ist durch das setzen der Default-Werte auch der Aufruf ohne parameter legitim!!! Dies wiederspricht sich mit den Defaultkonstruktor! Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.