LordTerra Geschrieben 2. September 2008 Geschrieben 2. September 2008 moin ich hab ne frage bezüglich eines fehlers den ich beim complieren bekomm... ich habe eine datei: abc.cpp und ein headerfile: abc.h in dem headerfile hab ich eine klasse deklariert: BVOBJ diese enthält eine Funktion: Blobanalyse(10 parameter) nun hab ich da noch einen weiteren parameter hinzugefügt.. Blobanalyse(10 parameter, int a); diese wird nun in der abc.cpp beschrieben: int BVOBJ::Blobanalyse(10 parameter, int a){ -- code -- return int; } der aufruf sieht entsprechend int anz=Blobanalyse(10 parameter, int a); das problem: wenn ich das nun compiliere bekomm ich die fehlermeldung: Fehler: Standartargument für Parameter 11 wieso ist das so bzw was hab ich vergessen? thx für hilfe LordTerra
TDM Geschrieben 2. September 2008 Geschrieben 2. September 2008 int anz=Blobanalyse(10 parameter, int a); a hat keinen Wert?!
LordTerra Geschrieben 2. September 2008 Autor Geschrieben 2. September 2008 (bearbeitet) ja naja... das is denke ich richtig ... aber wo muss ich denn nun auch noch a nen wert zuweisen ? ich hab schon ewig kein c++ mehr programmiert und naja das is nen etwas größeres programm... Bearbeitet 2. September 2008 von LordTerra
TDM Geschrieben 2. September 2008 Geschrieben 2. September 2008 int a = 5 int anz=Blobanalyse(10 parameter, a); // oder gleich int anz=Blobanalyse(10 parameter, 5); 10 Parameter denk ich aber mal steht nicht so deklariert. O.o und das return int aus der Funktionsdeklaration wird sicher auch anders sein, oder?
LordTerra Geschrieben 2. September 2008 Autor Geschrieben 2. September 2008 ja das return einfach ignorieren hatte nur damit zeigen wollen das da auch was zurück gegeben wird ... hmmm dieses int a=0; soll wo hin ? in den headerfile? oder in den cpp ? hmmm ok ich muss glaube doch etwas weiter ausholen ... also: in dem headerfile gibt es 2 klassen (gibt mehr aber wichtig sind nur 2) OBJ: da ist die blobanalyse drin und OCR: da steht drin Compute1(); Serializieren(); und die variable private int zeichenabstand; in der cpp: OCR::Serializieren(){ hier wird aus einer datei die variable zeichenabstand ausgelesen und zugewiesen } OCR::Compute1(){ in der Funktion wird nun die Blobanalyse aufgerufen (siehe oben) } int OBJ::Blobanalyse(10 parapeter, int zeichenabstand){ erg wird zurück gegeben } also rein theorethisch sollte diese variable durch die funktion Serializieren() belegt sein ... ich weis nun nicht ob das noch irgendwas fehlt ... thx für hilfe LordTerra
TDM Geschrieben 2. September 2008 Geschrieben 2. September 2008 also rein theorethisch sollte diese variable durch die funktion Serializieren() belegt sein ... ich weis nun nicht ob das noch irgendwas fehlt ... D.h. a gibt es schon irgendwo als Member in einer Klasseninstanz? Nun, dann darfst du a nicht in der Funktion neu deklarieren (sonst wird der Member überblendet), sondern genau den Member eben nehmen. [Edit:] Ich seh grad das Serializieren() ja in einer anderen Klasse ist, also doch nichts mit Klasseninstanz. Wie soll also die Variable dann belegt worden sein?
LordTerra Geschrieben 2. September 2008 Autor Geschrieben 2. September 2008 wat ? sorry lang kein c++ mehr programmiert ... also wie gesagt a = zeichabstand (wollt das nur eben etwas einfacher darstellen) also in der klasse OCR ist zeichenabstand deklariert ... aber in der Klasse OBJ halt nicht ... da die Blobanalyse ja nun eine funktion von OBJ ist dachte ich schon das ich diese variable in der funktion Blobanalyse neu deklarieren muss.. also ich übergeb die in OCR deklarierte und zugewiesene variable an die funktion blobanalyse der klasse OBJ...
TDM Geschrieben 2. September 2008 Geschrieben 2. September 2008 also ich übergeb die in OCR deklarierte und zugewiesene variable an die funktion blobanalyse der klasse OBJ... Genau.
Klotzkopp Geschrieben 3. September 2008 Geschrieben 3. September 2008 Hat einer der "10 Parameter" ein Standardargument (Defaultwert)? Falls ja, muss der neue auch eins bekommen. Sobald du einem Parameter ein Standardargument verpasst, müssen alle nachfolgenden auch eins bekommen.
LordTerra Geschrieben 3. September 2008 Autor Geschrieben 3. September 2008 ok das könnte es sein da der 10. parameter ein boolean wert is mit nem zugewiesenen false ... ok test ich gleich ma
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden