Variablen mit fehlerhafter Untervariablenvertauschung
-
Hallo,
ich habe eine Variablenstruktur erstellt(*.h-Datei):
struct Col { int Know[9]; int Max; int Nr; }; struct Row { Col col[9]; }; struct Feld { Row row[9]; };
Nun definiere ich eine Variable im allgemeinen main.cpp Bereich:
Feld feld1;
Hier befindet sich nun das Fehlverhalten:
int j,jj=3,row2=4,col2=1; for(j=jj; j<=9; j++) { feld1.row[row2].col[col2].Know[j] = [b]9[/b]; } //.Max=[b]9[/b] feld1.row[row2].col[col2].Max -= 1; //.Max=8
Egal welchen Wert die Variable feld1.row[row2].col[col2].Max hat,
beträgt er vor dem Subtrahieren immer 9 und danach 8.Ich habe andere Zahlen für ".Know[j]" eingegeben und diese hat ".Max" gleich mit übernommen?!
Was mache ich hier falsch?
Da ich neu in C++ bin und davor mit VB6 gearbeitet habe,
kenne ich bestimmt nicht alle Regeln,
die beachtet werden sollten.Vielen Dank fürs Aufklären
Jörg
-
ich verstehe die struktur nicht so recht...
struct Col //spalte { int Know[9]; int Max; int Nr; }; struct Row //reihe { Col col[9]; }; struct Feld //feld { Row row[9]; };
Ein Feld hat also 9 reihen die jeweils 9 spalten haben? Oo
Entweder, du hast nur die Namen unglücklich gewählt oder aber ich versteh hier iwas falsch...struct cell { int value; static int max; size_t Nr; }; struct row { cell Cell[9]; }; struct feld { row Row[9]; };
vll lieg ich ja richtig?
bb
-
Verpasse deinen Strukturen Konstruktoren, in denen die Membervariablen initialisiert werden, sonst steht dort immer irgendwas drin.
-
Konstruktoren also ...
Naja die sind mir leider noch fremd.
Könnte wer vielleicht ein kurzes Beispiel zu meinem Code machen?
Das wär zumindest eine sehr gute HilfeDanke
Jörg
-
Hier mal ein, bewußt etwas einfacher gehaltenes, Beispiel für einen Konstruktor der struct Col.
struct Col { int Know[9]; int Max; int Nr; Col() : Max(0), Nr(0) { for( int i=0; i<9; ++i) Know[i] = 0; } };
-
Vielen Dank Braunstein
Gruß
Jörg