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?