'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

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.