Я пытаюсь сделать простое меню. Для этого я хочу использовать структуру, которая является меню и содержит массив структур пунктов меню.
Главное меню - Программы - Настройки
Пункты меню содержат некоторую дополнительную информацию, такую как обратный вызов.
struct menu_t {
char* text;
const uint32_t num;
const struct menuitem_t *contents[MAX_MENU_CONTENTS];
};
struct menuitem_t {
char* text;
uint8_t type;
void (*callback)(void);
}
static const struct menu_t mainMenu[] = {
.name = "Main Menu",
.num = 3,
.contents = {
{
.text = "Programms",
.type = MENU_SUB,
.callback = 0,
},
{
.text = "Settings",
.type = MENU_SUB,
.callback = 0,
}
}
};
Но я всегда получаю ошибку
фигурные скобки вокруг скалярного инициализатора для типа 'const menuitem_t*'
contents
— это массив указателей. Ты уверен, что хочешь этого? - person NathanOliver   schedule 01.08.2019contents
— это массив указателей наmenuitem_t
, а не массивmenuitem_t
. - person KamilCuk   schedule 01.08.2019