Fehlermeldung [ILINK32 Fehler]
-
hallöchen
beim compilieren meines kleinen progs bekomme ich folgende fehlermeldung
[ILINK32 Fehler] Error: Nicht aufl÷sbares externes 'Bruch::Bruch()' referenziert von "meinPfad"/BRUCH.OBJkann mir da jemand vieleich weiterhelfen?!
vielen dank...
-
Konstruktor von Bruch nicht definiert? (sondern nur deklariert!).
-
so oder?
Bruch(); Bruch(int zaehler, unsigned int nenner);
-
Das ist "nur" die Deklaration.
Jetzt musst Du die beiden Konstruktoren noch definieren (kommt meistens in das CPP File und hat die geschweiften Klammern).Simon
-
Oder du hast die Datei nicht gelinkt.
-
ich habe es so gemacht:
Bruch::Bruch(){ zaehler=0; nenner=0; }in der cpp und der fehler ist weg:) vielen dank!
-
Otz110 schrieb:
ich habe es so gemacht:
Bruch::Bruch(){ zaehler=0; nenner=0; }in der cpp und der fehler ist weg:) vielen dank!
Gewöhn dir lieber früher als später an, die Initialisierungsliste zu verwenden:
Bruch::Bruch() : zaehler(0), nenner(0) {}
-
ok cool...
und wie mache ich es beim anderen kostruktor?
Bruch(int zaehler, unsigned int nenner);
Bruch::Bruch(0,0) {}
oder wie genau?!
-
oder doch eher so?!
Bruch::Bruch(int zaehler, unsigned int nenner):zaehler(zaehler),nenner(nenner){}
da es ja kein default konstruktor ist, sondern die übergebenen werte dem zähler bzw nenner zugeordnet werden sollen...oder gibt es noch eine besser lösung?!
-
Otz110 schrieb:
Bruch::Bruch(int zaehler, unsigned int nenner):zaehler(zaehler),nenner(nenner){}
Das ist schon die richtige Lösung.
PS: Bist du sicher, daß der Default-Konstruktor den Bruch mit 0/0 initialisieren soll? Technisch ist es egal, aber mathematisch könnte das Probleme ergeben.
-
lol^^
wird geändert...
