Dans la fonction make_quad() ci-dessous, comment définir les valeurs par défaut pour le tableau vertex_color dans la structure quad_t?Comment initialiser un tableau de structures dans une fonction?
/* 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;
Par ailleurs, une fonction pour faire et init un quad:
quad_t *make_quad() {
quad_t *quad = malloc(sizeof(quad_t));
quad->vertex_color = ??? /* What goes here? */
return (quad);
}
Il est évident que je peux le faire comme ceci:
quad->vertex_color[ 0 ] = { 0xFF, 0xFF, 0xFF, 0xFF };
...
quad->vertex_color[ 3 ] = { 0xFF, 0xFF, 0xFF, 0xFF };
mais ceci:
quad->vertex_color = {
{ 0xFF, 0xFF, 0xFF, 0xFF },
{ 0xFF, 0xFF, 0xFF, 0xFF },
{ 0xFF, 0xFF, 0xFF, 0xFF },
{ 0xFF, 0xFF, 0xFF, 0xFF }
};
... résultats dans "erreur: expe expression cted avant '{' jeton ".
EDIT: Correction de fautes de frappe couple
Missign après virgule rgba_t vertex_color [4]? – zoli2k