Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: class_OpenGL en 27 Octubre 2016, 11:40 AM

Título: (Consulta) Inicializar arreglo de estructura en C
Publicado por: class_OpenGL en 27 Octubre 2016, 11:40 AM
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
Título: Re: (Consulta) Inicializar arreglo de estructura en C
Publicado por: geeke en 27 Octubre 2016, 14:29 PM
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}}
};
Título: Re: (Consulta) Inicializar arreglo de estructura en C
Publicado por: class_OpenGL en 27 Octubre 2016, 14:37 PM
Ahí no he estado fino... Esto lo sabía, pero por alguna razón estaba empeñado en lo primero que dije... Muchas gracias!