C Warnung: Aussage ohne Wirkung

Lesezeit: 1 Minute

Benutzer-Avatar
jatee17

Beim Versuch, mein Programm zu kompilieren mit:

gcc -pedantic -Wall -ansi 

Ich bekomme die Warnung: Warnung: Aussage ohne Wirkung

Bezugnehmend auf diese Zeile:

for(currentDirection; currentDirection <= endDirection; currentDirection++)

Kann mir jemand dabei helfen?

currentDirection; tut nichts.

Ersetzen Sie Ihre Zeile durch

for(; currentDirection <= endDirection; currentDirection++)

Oder, falls Sie einfach vergessen haben, die Variable zu initialisieren:

for(currentDirection = 0; currentDirection <= endDirection; currentDirection++)

  • Oder vielleicht soll es so sein currentDirection = 1 angesichts des Abbruchkriteriums

    – David Heffernan

    24. März 2011 um 9:59 Uhr


Benutzer-Avatar
Mahesh

for(currentDirection; currentDirection <= endDirection; currentDirection++)
 // ^^^^^^^^^^^^^^^ Its saying about the above statement.

Die erste Anweisung sollte eine Zuweisung haben, was in diesem Fall nicht geschieht und der Grund für die Warnung ist. Vergewissere dich currentDirection einem gültigen Wert zugewiesen ist oder Datenmüll enthält und später Probleme verursacht.

Es ist ähnlich wie wenn gesagt wird –

 int i = 10 ;
 i ;   // This statement is valid but has no effect.

Meiner Erfahrung nach tritt dieses Problem auf, wenn Sie etwas in der Art von tun

int x = 0;
for(x = 0;x < num; x++){}

Wenn Sie Ihre Schleife deklarieren und Ihre Variable x bereits initialisiert haben, müssen Sie sie nicht ein zweites Mal deklarieren. Also entweder:

int x = 0;
for(; x < num; x++){}

Oder

int x;
for(x = 0; x < num; x++){}

1085570cookie-checkC Warnung: Aussage ohne Wirkung

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy