'y' may be used uninitialized in this function

OP #2335817
Lesenswert?

Guten Tag,
ich bekomme bei meinem Programm immer wieder folgende Fehlermeldung:
,,'i' may be used uninitialized in this function'' ich kann mir diese 
Fehlermeldung allerdings nicht erklären, denn:
1
void Check_out_Positionen()
2
{
3
for(int y=1; y<9; y++) //Fehlermeldung
4
  {
5
  for(int x=0; x<9; x++)//keine Fehlermeldung
6
    {
7
                //Gewöhnliche If-Abfragen im bezug auf x und y
8
                //[...]
9
                }
10
         }
11
}

Ich kann mit nicht vorstellen, wieso die erste 'for'-Schleife einen 
Fehler raushauen sollte. Und die zweite nicht.

Bisher habe ich noch keine AUswirkungen gesehen (das Programm arbeitet 
gut) aber ich will diese Fehlermeldungen weg kriegen, aleine aus 
prinzip.

Ich benutze Eclipse SDK.

Edit: Seltsamerweise ist der Fehler an der Stelle verschwunden, jetz 
bekomme ich den Fehler nur noch an ähnlichen Stellen: confused
1
void Bewegung()
2
{
3
  for(int i; i<9; i++)
4
    {
5
    //Gewöhnliche IF Abfrage
6
    }
7
}
Gast #2335832
Lesenswert?

Im zweiten Beispiel ist i uninitialisiert.

Welcher Compiler, welche Programmiersprache, welcher Dialekt usw.?

Minimalprogramm erstellen, bei dem der Fehler auftritt, und mit den 
exakten Fehlermeldungen posten.
Moderator Persönliche Seite #2335834
Lesenswert?

Bitte gib uns ein compilierbares Beispiel statt irgendwelcher
Codeschnipsel, die nicht zu deiner Aussage passen (im Text steht 'i',
das im Code nicht vorkommt, in der Überschrift steht 'y').

Übrigens:
1
void Bewegung()

ist in der Sprache C eine veraltete Funktionsdeklaration, da sie
keinen Prototypen darstellt.  Gewöhn' dir bitte an, stattdessen
1
void Bewegung(void)

zu schreiben.  In C++ sind zwar beide Formen identisch, aber in C
eben nicht.  In C++ wäre die ausgeschriebene Form trotzdem
zulässig, man muss es sich also auch dort nicht extra wieder
abgewöhnen. ;-)
OP #2336184
Lesenswert?

Jörg Wunsch schrieb:
> Bitte gib uns ein compilierbares Beispiel statt irgendwelcher
> Codeschnipsel, die nicht zu deiner Aussage passen (im Text steht 'i',
> das im Code nicht vorkommt, in der Überschrift steht 'y').

1
 void Bewegung(void)
Okay!
Das volle Programm ist recht groß, und noch lange nicht vollständig,


>Im zweiten Beispiel ist i uninitialisiert.
Wieso das, dort steht doch:
1
for(/**/int i/**/; i=0; i++)
2
    {//example
3
    }

>Welcher Compiler, welche Programmiersprache, welcher Dialekt usw.?
Ich arbeite mit Eclipse SDK, programmiere in C, GCC ToolChain

Ansonsten Programm im Anhang, ich weise daraufhin das es noch nicht 
funktioniert, ich arbeite zur Zeit mit dem ATmega168 und lasse die 
Positionen nach der bearbeitung ausgeben.

Später soll das ganze ein Schachprogramm ergeben + ich hab folgendes:
1
 void Bewegung(void)
noch nicht eingearbeitet.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren