(Consulta) Inicializar arreglo de estructura en C

Iniciado por class_OpenGL, 27 Octubre 2016, 11:40 AM

0 Miembros y 1 Visitante están viendo este tema.

class_OpenGL

Hola, muy buenas. Querría saber cómo iniciaizar un arreglo de estructura. Lo que hago es esto:

typedef struct {
   float coord[3];
} vec3;

...

vec3 vertices[4] = {
    {-size, -size, 0.0f},
    { size, -size, 0.0f},
    {-size,  size, 0.0f},
    { size,  size, 0.0f}
};


Pero el compilador me lanza los siguientes avisos:

../src/model.c: In function 'load_quad':
../src/model.c:8:9: warning: missing braces around initializer [-Wmissing-braces]
         {-size, -size, 0.0f},
         ^
../src/model.c:8:9: note: (near initialization for 'vertices[0]')
../src/model.c:9:9: warning: missing braces around initializer [-Wmissing-braces]
         { size, -size, 0.0f},
         ^
../src/model.c:9:9: note: (near initialization for 'vertices[1]')
../src/model.c:10:9: warning: missing braces around initializer [-Wmissing-braces]
         {-size,  size, 0.0f},
         ^
../src/model.c:10:9: note: (near initialization for 'vertices[2]')
../src/model.c:11:9: warning: missing braces around initializer [-Wmissing-braces]
         { size,  size, 0.0f}
         ^
../src/model.c:11:9: note: (near initialization for 'vertices[3]')
../src/model.c:7:24: warning: missing braces around initializer [-Wmissing-braces]
     vec3 vertices[4] = {
                        ^
../src/model.c:7:24: note: (near initialization for 'vertices')


Querría saber como initcializar adecuadamente ese arreglo. Muchas gracias

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL

geeke

Como te dice el compilador te faltan llaves, quedaría así

Código (cpp) [Seleccionar]
vec3 vertices[4] =
{
    {{-size, -size, 0.0f}},
    {{ size, -size, 0.0f}},
    {{-size,  size, 0.0f}},
    {{ size,  size, 0.0f}}
};

class_OpenGL

Ahí no he estado fino... Esto lo sabía, pero por alguna razón estaba empeñado en lo primero que dije... Muchas gracias!

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL