Einzelnen Beitrag anzeigen

Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#1

[C++] Wer verändert da meinen Variablenwert? (erledigt)

  Alt 5. Mai 2007, 17:38
Hi,

ich habe noch eine Frage zu C/C++.

Es geht um eine Klasse, das Relevante ist dies hier:

cl_snake.h:

Code:
class cl_snake
{
   public:
      cl_snake(void);
   public:
      ~cl_snake(void);
   public:
      int colors[2];
      int field_size, field_width, field_height;
cl_snake.cpp:

Code:
// constructor
cl_snake::cl_snake(void)
{
   colors[2] = 4;
   field_size = 10;

   printf("Foo: %d ", colors[2]);
}
Nun ratet mal, was mir ausgegeben wird. Ich sag's euch: 10 Es wird immer der Wert von field_size ausgegeben, bis ich da mal draufgekommen bin, das hat mich nun Stunden gekostet.

Was ist da denn los? Zwischendrin verändere ich ja keine Variablen und mit Pointern arbeite ich auch nicht direkt.

Verwirrt grüßt
Matze

Edit: Ich glaub ich hab's, das Array geht von 0 bis 1, mal testen.
Edit 2: ja das war's, oh Mann!
Edit 3: Aber ich verstehe dennoch nicht, wieso colors[2] den Wert der darauffolgenden Variablen enthält. Kann mir das jemand erklären?
  Mit Zitat antworten Zitat