Что я делаю неправильно здесь для C99:C структура в пределах структуры закодированной инициализации
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},
}
};
Это дает ошибку:
error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘=’ token
Я желаю, чтобы иметь возможность получить доступ к данным, как имеющим структура в пределах структуры, что:
table[row].pos[column].piece
table[row].pos[column].alive
Я попробовал несколько combinations, и никто, кажется, работает для этого случая. Я уже делал предыдущую строчную кодированную инициализацию, прежде чем это работает, но не структура внутри структуры, как на этот раз.
Любые предложения?
'шт' является символом,' 'Q" является строкой. Используйте простые кавычки. –
Пожалуйста, прочтите ваши сообщения об ошибках; Я уверен, что ваш компилятор сказал бы вам, что не может преобразовать символ 'char *' в 'char', который точно скажет вам, в чем ваша проблема. –
И нет необходимости бросать 1 в int, поскольку он уже относится к этому типу. – 2501