En essayant de compiler mon programme avec:
gcc -pedantic -Wall -ansi
Je reçois l'avertissement: warning: déclaration sans effet
En référence à cette ligne:
for(currentDirection; currentDirection <= endDirection; currentDirection++)
Est-ce que quelqu'un peut m'aider avec ça?
currentDirection;
ne fait rien.
Remplacez votre ligne par
for(; currentDirection <= endDirection; currentDirection++)
Ou, au cas où vous auriez simplement oublié d'initialiser la variable:
for(currentDirection = 0; currentDirection <= endDirection; currentDirection++)
for(currentDirection; currentDirection <= endDirection; currentDirection++)
// ^^^^^^^^^^^^^^^ Its saying about the above statement.
La première déclaration doit avoir une assignation, ce qui n’est pas le cas en l’occurrence et qui est la raison de l’avertissement. Assurez-vous que currentDirection
est assigné à une valeur valide, sinon il pourrait y avoir des erreurs et pourrait ultérieurement causer des problèmes.
C'est semblable à quand dit -
int i = 10 ;
i ; // This statement is valid but has no effect.
D'après mon expérience, cette question se pose lorsque vous faites quelque chose dans le sens de
int x = 0;
for(x = 0;x < num; x++){}
Lorsque vous déclarez votre boucle et que vous initialisez déjà votre variable, x vous n'avez pas besoin de la déclarer une seconde fois. Donc, soit:
int x = 0;
for(; x < num; x++){}
Ou
int x;
for(x = 0; x < num; x++){}