Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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.

Geschrieben

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

Geschrieben

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.

Geschrieben
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.

Geschrieben

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

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...