Array Konstruktion mit etlichen Errors
-
ich habe hier mal eine array Konstruktion gemacht.
// Variablen short int spieler1[4]={1,2,3,4}, spieler2[4]={5,6,7,8}, spieler3[4]={9,10,11,12}, spieler4[4]={13,14,15,16}; short int spieler[4] = {spieler1,spieler2,spieler3,spieler4};
Die macht jedoch den Fehler:
main.c:67: warning: initialization makes integer from pointer without a cast
main.c:67: error: initializer element is not computable at load time
main.c:67: error: (near initialization for 'spieler[0]')
main.c:67: warning: initialization makes integer from pointer without a cast
main.c:67: error: initializer element is not computable at load time
main.c:67: error: (near initialization for 'spieler[1]')
main.c:67: warning: initialization makes integer from pointer without a cast
main.c:67: error: initializer element is not computable at load time
main.c:67: error: (near initialization for 'spieler[2]')
main.c:67: warning: initialization makes integer from pointer without a cast
main.c:67: error: initializer element is not computable at load time
main.c:67: error: (near initialization for 'spieler[3]')und wenn ich das oben definierte verwenden will:
for (i=1; i<=player ; i++) { for (a=1; a<=4 ; a++) { pos = spieler[i][a]; } }
kommt
main.c:111: error: subscripted value is neither array nor pointer
woran liegts
-
short int* spieler[4] = {spieler1,spieler2,spieler3,spieler4};
-
Von welchem Typ sind denn
spieler1
,spieler2
,spieler3
undspieler4
, die du versuchst in einshort int
-Array zu quetschen?greetz, Swordfish
BTW: Arrays beginnen in C bei
0
.
-
die sind auch von short int
@ agga ugga, thx, das hat geklappt
-
floorball92 schrieb:
die sind auch von short int
Quatsch mit Soße. Die sind
short int[ ]
was fast das selbe ist wieshort int *
. Deswegen regt sich auch Dein Compiler auf. Denk' mal darüber nach... So nach dem Motto: "Es funktioniert plötzlich, und ich verstehe auch, warum."greetz, Swordfish
-
for (i=1; i<=player ; i++) { for (a=1; a<=4 ; a++) { pos = spieler[i][a]; } }
Man fängt bei 0 an zu zählen.