В функции make_quad () ниже, как мне установить значения по умолчанию для массива vertex_color в структуре quad_t?
/* RGBA color */
typedef struct {
uint8_t r,g,b,a;
} rgba_t;
/* Quad polygon - other members removed */
typedef struct {
rgba_t vertex_color[ 4 ];
} quad_t;
В другом месте, функция для создания и инициализации квада:
quad_t *make_quad() {
quad_t *quad = malloc( sizeof( quad_t ) );
quad->vertex_color = ??? /* What goes here? */
return ( quad );
}
Очевидно, что я могу сделать это так:
quad->vertex_color[ 0 ] = { 0xFF, 0xFF, 0xFF, 0xFF };
...
quad->vertex_color[ 3 ] = { 0xFF, 0xFF, 0xFF, 0xFF };
, но это:
quad->vertex_color = {
{ 0xFF, 0xFF, 0xFF, 0xFF },
{ 0xFF, 0xFF, 0xFF, 0xFF },
{ 0xFF, 0xFF, 0xFF, 0xFF },
{ 0xFF, 0xFF, 0xFF, 0xFF }
};
... приводит к « ошибка: ожидаемое выражение до»{'token".
EDIT: исправлено несколько опечаток