У меня есть код C и использование компилятора GCC.Анонимный союз может содержать только нестатические члены данных GCC C++
Код имеет несколько вложенных типов внутри анонимного объединения:
struct ab {
int a;
int b;
union {
int *c;
int *d;
struct f {
int *c;
int *d;
};
struct e {
int *c;
int *d;
};
};
};
Я получаю эту ошибку:
Error: 'struct ab::<anonymous union>::f' invalid; an anonymous union
can only have non-static data members.
Может кто-то дать дальнейшие объяснения, почему происходит эта ошибка?
Вы получаете ошибку, потому что это не имеет никакого смысла. Из вашего вопроса неясно, чего вы ожидаете от этого, но если вы это добавите, кто-то может ответить, как вы можете это достичь. – hvd
§ 9.5/5 - * Спецификация участника анонимного союза определяет только нестатические элементы данных. [Примечание. Вложенные типы и функции не могут быть объявлены в анонимном объединении . - end note] * – chris
Вопросы непонятны, будьте точны. –