C Mehrdimensionales Array

kew

Ensign
Registriert
Apr. 2008
Beiträge
169
Hey,
folgendes problem: (achja bin anfänger :))

Code:
char werte[N-1][(N-1)*2];

if ...
werte[i][(j-1)*2]='x'; [COLOR="Red"]hier[/COLOR]
} else { 
werte[i][(j-1)*2]=' '; [COLOR="SandyBrown"] hier[/COLOR]
}

...
fprintf(AUSGABE,"%c",werte[i][j]); [COLOR="YellowGreen"]hier[/COLOR]
...

compiler sagt:

hierwarning: assignment makes pointer from integer without a cast
hierwarning: assignment makes pointer from integer without a cast
hierwarning: int format, pointer arg (arg 3)


Im endeffekt will ich einfach nur in einem mehrdimensionalem char array einige felder mit "x" füllen und andere mit einem " " (leerzeichen) :-]

Wäre froh wenn mir jmd helfen könnte :]
 
Der Code sieht ganz OK aus.
Ich habe das mal kurz in meinem MS VS 2008 nachgebaut. Keine Warnung!
Hast du vielleicht nochmal ein Feld werte definiert, das aber Pointer statt chars speichert?
Oder hast du den Typ char umdefiniert (#define char (char*)) :stock:?
 
Ist das C99? So nebenbei.

Borons Verdacht klingt gut - es riecht ein wenig danach, als wenn du nicht ganz ehrlich zu uns mit den Typen bist. ;)

Es scheint wohl eher ein (char*)[][]-Array zu sein? Das lässt sich zumindest aus den Compilermeldungen schlussfolgern.

Falls du dir keiner Schuld bewusst bist:

1.) bitte Post den gesamten Quelltextzusammenhang so gut es geht (ohne Auslassungen, Definition von i,j wäre vielleicht auch noch interessant.
2.) setz vor die Definition des Arrays folgendes:
Code:
#ifdef char
#error DIE HOELLE GEFRIERT
#endif
Falls die #error Direktive auslöst, passiert ganz ganz finsteres Zeug bei dir. ;)
 
Zurück
Oben