was set but never used

Gast #848130
Lesenswert?
• ▲
▼
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.
Gast #848160
Lesenswert?
• ▲
▼
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.
Gast #848204
Lesenswert?
• ▲
▼
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?
Gast #848209
Lesenswert?
• ▲
▼
> 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.
#848224
Lesenswert?
• ▲
▼
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.
#848232
Lesenswert?
• ▲
▼
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.
Gast #848395
Lesenswert?
• ▲
▼
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.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.