Hi Leute,
ich bin ehrlich gesagt ein wenig ratlos. Ich hab heute nochmal ein altes C++-Programm, das ich angefangen hatte, aus der Schublade gekramt, das damals nicht funktioniert hat. Heute versuchte ich, es erneut zum Laufen zu bringen und es hat immer noch nicht geklappt -.- meine diversen schlauen Bücher bringen nichts und Google auch nicht.
Im Prinzip versuche ich nur, eine Reihe von Objekten zu erzeugen und in Feldern zu speichern. Will ich das Programm kompilieren, kommt allerdings nur die Fehlermeldung "no matching function for call to Ware::Ware[]".
Ich notier mal die relevanten Teile des Codes (iostream und namespace sind eingebunden):
class Ware
{
public:
int artikelnr;
float preis;
Ware(int wert1, float wert2)
{
artikelnr=wert1;
preis=wert2;
}
};
In der Main-Funktion dann die Vordefinition:
Ware Objekt[20];
und später der Aufruf:
Objekt[i] (artikelnr2, preis2);
Die Variablen sind allesamt bereits definiert. Ich habe auch die Typen (int, float) auf Korrektheit und Kompatibilität überprüft. Trotzdem geht es nicht.
Ich bin, was den Konstruktor betrifft, zudem ein wenig verwirrt, da ich ihm Internet gelesen habe, dass man den entweder leer oder mit Inputs definieren kann und innerhalb der Klasse oder später mit zwei Doppelpunkten definieren kann. Jede Seite sagt mir da irgendwie was anderes. Ich habe auch schon versucht, einen Konstruktor außerhalb der Klasse zu schreiben, aber das gab auch irgendeine Fehlermeldung. Ich habe das Programm sogar in Java übertragen, aber damit komme ich erst recht nicht klar.
Könnt ihr mir sagen, was ich falsch mache? Ich weiß einfach nicht, was ist tun soll und solange ich keine Objekte erzeugen kann, sitze ich an einem toten Punkt fest.
Danke schonmal im Voraus