[devel] union in C99

Led =?iso-8859-1?q?ledest_=CE=C1_gmail=2Ecom?=
Вт Сен 23 20:37:41 MSD 2008


On Tuesday, 23 September 2008 19:26:24 Damir Shayhutdinov wrote:
> > потребовалось сделать что-то типа такого:
> > -    int         i_bframe_adaptive;
> > +    union {
> > +        int         i_bframe_adaptive;
> > +        int         b_bframe_adaptive __attribute__((__deprecated__));
> > +    };
> >
> > это поля structx 264_param_t . Но при -std=c99 получаем:
> > libx264.c:165: error: 'x264_param_t' has no member named
> > 'i_bframe_adaptive'
> >
> > Как это сейчас правильно реализуется?
>
> То, что ты хочешь сделать - называется anonymous union

Да, это я знаю. Но, похоже, в C99 это не допускается. Нашёл, что для gcc это 
обходится путём добавления __extension__ перед union. Может есть более 
корректный и переносимый способ реализации подобного?

-- 
Led


Подробная информация о списке рассылки Devel