Как компилировать C -код с анонимными структурами / союзами?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как компилировать C -код с анонимными структурами / союзами?

Сообщение Anonymous »

Я могу сделать это в c ++/g ++:
struct vec3 {
union {
struct {
float x, y, z;
};
float xyz[3];
};
};
< /code>
Тогда, < /p>
vec3 v;
assert(&v.xyz[0] == &v.x);
assert(&v.xyz[1] == &v.y);
assert(&v.xyz[2] == &v.z);
< /code>
будет работать. < /p>
Как это сделать в C с GCC? У меня есть < /p>
typedef struct {
union {
struct {
float x, y, z;
};
float xyz[3];
};
} Vector3;
< /code>
Но я получаю ошибки вокруг, в частности < /p>
line 5: warning: declaration does not declare anything
line 7: warning: declaration does not declare anything


Подробнее здесь: https://stackoverflow.com/questions/197 ... cts-unions
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»