Was ich hier falsch für C99 tue:C-Struktur innerhalb einer Struktur fest codierten Initialisierung
struct chess {
struct coordinate {
char piece;
int alive;
} pos[3];
}table[3] =
{
{
{'Q', (int)1},{'Q', (int)1},{'Q', (int)1},
{'B', (int)1},{'B', (int)1},{'B', (int)1},
{'K', (int)1},{'K', (int)1},{'K', (int)1},
}
};
Es gibt den Fehler:
error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘=’ token
Ich möchte auf die Daten zugreifen können, wie ein mit Struktur innerhalb einer Struktur, die:
table[row].pos[column].piece
table[row].pos[column].alive
ich mehrere combinations versucht, und keiner scheint für diesen Fall zu arbeiten. Ich habe vorher struct hart codierte Initialisierung getan, bevor das funktioniert, aber nicht eine Struktur in einer Struktur als diese Zeit.
Irgendwelche Vorschläge?
'Stück' ist ein Zeichen,' "Q" 'ist eine Zeichenfolge. Verwenden Sie einfache Anführungszeichen. –
Bitte lesen Sie Ihre Fehlermeldungen; Ich bin mir ziemlich sicher, dass Ihr Compiler Ihnen gesagt hätte, dass es kein 'char *' in ein 'char' konvertieren kann, was Ihnen genau sagen würde, was Ihr Problem ist. –
Und es ist nicht notwendig, 1 zu int zu werfen, da es bereits von diesem Typ ist. – 2501