folgendes Problem: er bringt mir den Fehler: " variable xy was set but never used. Jedoch wird die Variable verwendet und wenn ich die initialisierung der Variable lösche kommt ein Error, dass die Variable nicht definiert wurde. ? HELP?
Poste mal den Code der Funktion wo das auftritt. So kann man nicht wirklich was dazu sagen. Ich schätze mal es handelt sich dabei auch um eine Warning, nicht um einen Error?
Familienbuch *hffamily; Familienbuch *hffamily1; hffamily = (14 *)harry1; hffamily1 = (15 *)harry2;
Was soll denn diese Zeile
> hffamily = (14 *)harry1;
bedeuten? In C oder C++ ist das keine korrekte Syntax.
ist egal was da steht da es nicht der Originalcode ist. Schreiben wir statt 14. Variable14 hin.
Entweder Du zeigst uns welches Problem du wirklich hast ( mit Code ) oder Du lässt es bleiben. Deine Entscheidung. Wenn Du Hilfe willst, dann musst Du schon sagen um was es geht ansonsten musst Du's halt selbst suchen. Das Forum hilft gerne - aber zaubern, raten, Kristallkugeln befragen - ist nicht !
Ich kann Deinen Compiler schon verstehen. Beide Zeiger werden gesetzt und nicht benutzt...
wie muss ich dann die Pointer initialisierung das ich diese so wie oben angeben verwenden kann.
SFamilie sVater; SFamilie sMutter; SFamilie sKind; switch (Status) { case Vater: Gewichtcount++; sVater.Gewicht = (float)Gewichtcount; break; case Mutter: Gewichtcount++; sMutter.Gewicht = (float)Gewichtcount; break; case Kind: Gewichtcount++; sKind.Gewicht = (float)Gewichtcount; break; default: break; } Es soll einfach nur etwas hochgezählt werden.
Was hat der gepostete Code mit deinem Code von oben zu zun? Ich sehe keinen Zeiger..., nix? Übrigens s[Vater|Mutter|Kind].Gewicht wird z.B. auch nur gesetzt, oder bin ich blind?
Dieser Code hat aber nun nichts, aber auch gar nichts mit dem zuvor geposteten zu tun. Aber auch hier fehlen die meisten Typ- und Variablendeklarationen, was natürlich zu Fehlern führt. Wenn man sich die entsprechenden Deklarationen ausdenkt und dazuschreibt, bringt der Compiler (zumindest der GCC) keine einzige Warnung. Poste doch mal ein Stück Code, das, wenn man es ohne Änderungen dem Compiler übergibt, gleich an erster Stelle die von dir beklagte Warnung ausgibt, und poste auch den genauen Wortlaut dieser Warnung einschließlich der Zeilennummer, in der der Fehler auftritt.
sorry der ganze code ist zu lange ein KOllege meinte es könnte daran liegen das die Variable nicht initialiserit ist?=+
Ich verstehe die Diskussion hier nicht. Inhalte der (lokalen) Variablen sVater, sMutter und sKind werden zwar gesetzt, das aber später nicht mehr verwendet. Der Code ist also überflüssig. Darauf macht der Compiler ganz korrekt aufmerksam. Wo ist das Problem?
Das ist eben das Problem es wird nur gesetzt. Wenn ich schreibe case Vater: Gewichtcount++; sVater.Gewicht = (float)Gewichtcount; sVater = sVater; break; kommt kein Fehler. Wie umgehe ich das? das ist alles andere als schön?
Du umgehst es indem du einfach dein Programm weiterschreibst, so dass sVater.Gewicht eben irgendwann mal (lesend) verwendet wird. Wenn du den Compiler auf ein halbfertiges Programm loslässt, gibts halt solche Warnungen.
> sorry der ganze code ist zu lange
Muss ja nicht das ganze Programm sein. Aber wenigstens so viel davon,
dass
1. der Fehler (bzw. die Warnung) gemeldet wird und
2. vor diesem Fehler keine weiteren Fehlermeldungen ausgegeben
werden.
Außerdem solltest du schreiben, welchen Compiler du benutzt.
Wenn obiges nicht möglich ist, bleibt dir nur, die Fehlermeldung
wörtlich zu nehmen und nach einer Variable xy zu suchen, die gesetzt,
aber nicht benutzt wurde. Viel Erfolg dabei.
never used wrote: > Das ist eben das Problem es wird nur gesetzt. Wenn ich schreibe > [...] > kommt kein Fehler. Wie umgehe ich das? das ist alles andere als schön? Einmal sage ich es noch, dann gebe ich es auf: Du den Code einfach weglassen. Er ist überflüssig und hat auf das Programmergebnis keinen Einfluss. Der Compiler macht dich auf diesen überflüssigen Code aufmerksam und das ist auch gut so.
Lass mich auch mal raten: Dein Variablen sVater, sMutter, sKind sind lokale Variablen in einer Funktion. Du änderst zwar die lokalen Variablen und da sie danach beim Funktionsreturn wieder verschwinden, macht dich der Compiler darauf aufmerksam dass du eine sinnlose Zuweisung gemacht hast. Daher nochmal der Aufruf: Wenn du Hilfe brauchst, dann poste den Code so wie du ihn compilierst. Du kannst den Code ja ruhig auch abspecken um ihn klein genug zu kriegen wenn du der Ansicht bist, du willst nicht soviel posten.
Oder mal konkret: Hier weist du der (lokalen) Variablen "sKind.Gewicht" einen Wert zu: sKind.Gewicht = (float)Gewichtcount; und anschliessend wird die Variable "sKind.Gewicht" nicht mehr verwendet. Wozu also die Zuweisung? Und genau das sagt/fragt der Compiler mit der Warnung.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.