Цитата(IgorKossak @ Jul 28 2010, 13:00)

Helios понимает и всё прекрасно показывает.
Попробуйте покопаться в Preferences->C/C++->Editor->Content Assist->Advanced
увы... не показывает у меня, и настройки не помогают.
но, что гораздо хуже, я все равно в тупике с инициализаторами
Код
typedef struct {
prog_char *text;
uint8_t type;
union{
struct {
union{
uint8_t id;
int *num;
};
func_ptr func;
};
struct {
uint8_t vcnt;
uint8_t *vid;
prog_char **var;
};
_tm submenu;
};
} menu_item_t;
#define simple_item(t,i,f) {.text = t, .type = i_simple, {{{.id=i}, .func = f}}}
#define int_item(t,n,f) {.text = t, .type = i_int, {{{.num = n}, .func = f}}}
#define var_item(t,c,vi,v) {.text = t, .type = i_var,{ {.vcnt=0}} }
#define sub_item(t,s) {.text = t, .type = i_sub, {.submenu = s}}
PROGMEM menu_t mainmenu = {
.itemcount = 5,
.items = {
simple_item(m1,1,NULL),
int_item(m2,&varvar,NULL),
var_item(m3,3,&vi,&vars),
simple_item(m4,1,NULL),
simple_item(m5,2,NULL)
}
};
в этом куске: сначала структура с объединенными полями, затем макросы для инициализации разных вариантов этой структуры, в конце - массив элементов с разными вариантами. так вот,
var_item() вызывает ошибку - не найдено поле
vcnt - в чем дело, не пойму... все прочие варианты отрабатывают...
Я бы взял частями... но мне надо сразу.