etech Geschrieben 29. Mai 2005 Geschrieben 29. Mai 2005 hallo, ich habe da ein problem mit einem c programm an dem ich gerade arbeite. und zwar muss ich dort zwei strukturen die global waren nun an alle funktionen übergeben da ich sie nun lokal nutzen muss. doch bei der parameterübergabe habe ich probleme. es handelt sich hierbei um diese beiden strukturen: struct mannschaft_t{ char name[MAX]; int anzahl; }*teilnehmer; struct paarung_t{ char heim[MAX]; char gast[MAX]; int tabelle; int ergebnis_h; int ergebnis_g; int punkte_h; int punkte_g; int gesamt_pkt; int gesamt_tore; }liste[MAX][MAX]; ich habe mir dann überlegt die strukturen folgendermaßen zu übergeben aber das funktioniert irgendwie nicht. struct mannschaft_t *teilnehmer und struct paarung_t liste[][] wäre schon wenn mir jemand helfen könnte, undmir sagt wo der fehler liegt. Zitieren
Klotzkopp Geschrieben 29. Mai 2005 Geschrieben 29. Mai 2005 wäre schon wenn mir jemand helfen könnte, undmir sagt wo der fehler liegt.Wäre schön, wenn du eine bessere Fehlerbeschreibung liefern könntest als "das funktioniert irgendwie nicht." Zitieren
nic_power Geschrieben 29. Mai 2005 Geschrieben 29. Mai 2005 Hallo, Strukturen können in C nicht direkt übergeben werden, Du musst einen Pointer auf die Struktur verwenden. Aber eine genauere Fehlerbeschreibung mit dem entsprechenden Code wäre sehr hilfreich. Nic Zitieren
etech Geschrieben 29. Mai 2005 Autor Geschrieben 29. Mai 2005 hmm ich weiss garnicht wo ich anfangen soll. das problem ist eben das ich das prog schon komplett geschrieben hab und jetzt nur noch die strukturen lokal deklarieren soll. nach meinen umbaumaßnahmen habe ich 102 errors, deswegen kann ich keine genaue fehlerbeschreibung machen. ich liste aber die häufigsten fehler einmal auf: ich habe z.B. in einer funkton eine struktur aus meinem ersten beitrag übergeben. int mannschaft_eingeben(int anzahl_mannschaften, struct mannschaft_t *teilnehmer) in der funktion selber tauchen dann folgende fehler auf: scanf("%s",&teilnehmer.name); error C2036: 'struct mannschaft_t *' : unknown size sowie error C2037: left of 'name' specifies undefined struct/union 'mannschaft_t' oder z.B. hier: strcpy(liste[t][p].heim,teilnehmer[(t+p)%(anz_m-1)].name); error C2036: 'struct mannschaft_t *' : unknown size und error C2198: 'strcpy' : too few actual parameters diese fehler wiederholen sich bei jedem abschnitt wo die struktur bearbeitet oder aufgerufen wird. ich weiss jetzt nicht ob ich die struktur der funktion richtig übergeben habe oder ob der grund für die fehlermeldung woanders liegt. bin für jeden tip dankbar und gebe gerne weiter informationen wenn noch was unklar ist. ich geh nämlich schon auf dem zahnfleisch weil ich den kram morgen schon abgeben muss. Zitieren
Klotzkopp Geschrieben 29. Mai 2005 Geschrieben 29. Mai 2005 nach meinen umbaumaßnahmen habe ich 102 errors, deswegen kann ich keine genaue fehlerbeschreibung machen. ich liste aber die häufigsten fehler einmal auf:Es ist meist effektiver, wenn man die Fehlermeldungen der Reihe nach bearbeitet. Der Compiler kann nach einem Fehler schon mal "aus dem Tritt kommen". Daher ist auch die Anzahl der Fehler wenig aussagekräftig. Interessant ist zuerst immer nur der erste gemeldete Fehler. Also lass den mal sehen. Zitieren
etech Geschrieben 29. Mai 2005 Autor Geschrieben 29. Mai 2005 gut, also die erste fehlermeldung ist schon bei der ersten funktion die ich aufrufe: mannschaft_eingeben(anzahl_mannschaften, teilnehmer); anzahl_mannschaften ist ein normaler int wert der ohne probleme übergeben wird. teilnehmer soll eigentlich ein pointer auf meine struktur sein: struct mannschaft_t{ char name[MAX]; int anzahl; }*teilnehmer; dabei spuckt er schon folgenden fehler aus: warning C4133: 'function' : incompatible types - from 'struct mannschaft_t *' to 'struct mannschaft_t *' diesen fehler bekomme ich bei jedem funktionsaufruf bei dem ich teilnehmer übergebe. wenn ich jetzt diese struktur meiner funktion übergeben will, muss ich da jetzt erst einen pointer auf die struktur deklarieren und den dann der fkt. übergeben? ist *teilnehmer nicht schon ein pointer auf die struktur? schonmal danke für die hilfe Zitieren
Klotzkopp Geschrieben 29. Mai 2005 Geschrieben 29. Mai 2005 Deklarierst du struct mannschaft_t vielleicht mehrfach? Zitieren
Aquano Geschrieben 30. Mai 2005 Geschrieben 30. Mai 2005 poste bitte mal den Prototypen der Funktion als auch die ersten 2 3 Zeilen der Funktion selbst. Zitieren
etech Geschrieben 2. Juni 2005 Autor Geschrieben 2. Juni 2005 danke für die mühe, das problem hat sich erledigt... Zitieren
Maulwurf_der_Schlaue Geschrieben 2. Juni 2005 Geschrieben 2. Juni 2005 darf man fragen wie du's jetzt gelöst hast? war jetzt eine doppeldekleration? falsch "gepointert"? ... Zitieren
etech Geschrieben 6. Juni 2005 Autor Geschrieben 6. Juni 2005 mein professor hat ne älter version von dem programm akzeptiert, somit müsste ich mich mit dem problem nicht weiter rumquälen 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.