hallo,
bei diesem Code:
struct datenfeld { char feldname[16];
unsigned int zahl;
};
struct datenfeld zeile[] = { "abc", 123,
"def", 456,
};
erhalte ich beim Compilieren mit dem avr-ggc folgende Warnungen:
../spielwiese.c:5: warning: missing braces around initializer
../spielwiese.c:5: warning: (near initialization for `zeile[0]')
irgendwie hänge ich jetzt in der Luft :-(
hat mir da jemand einen Tipp?
Jürgen
Der Compiler sagts doch: missing braces
struct datenfeld zeile[] = { { "abc", 123 },
{ "def", 456 },
};
Du musst ihm jede Initialisierung einer kompletten Struktur
in { } einschliessen.
hallo, danke für den Tipp. Ist schon interessant wie verschiedene Compiler da mit solchen Feinheiten umgehen ;-) Jürgen
Gast
#431677
struct datenfeld zeile[] = { 0 = { .feldname = "abc", .zahl = 123 },
1 = { .feldname = "def", .zahl = 456 },
};
wenn es nicht durch C++ compiler durch soll
> Ist schon interessant wie verschiedene Compiler da > mit solchen Feinheiten umgehen ;-) Das hat weniger mit dem COmpiler zu tun. So ist es in den C Sprachregeln definiert.
Gast
#431846
So gehts auch:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
Finde ich persönlich übersichtlicher.
Gast
#431848
Ups, semikolon vergessen ;)