Estoy tratando de inicializar la siguiente matriz sindical en la declaración:inicializar una matriz de unión a la declaración
typedef union { __m128d m; float f[4]; } mat;
mat m[2] = { {{30467.14153,5910.1427,15846.23837,7271.22705},
{30467.14153,5910.1427,15846.23837,7271.22705}}};
Pero I'getting el siguiente error:
matrix.c: In function ‘main’:
matrix.c:21: error: incompatible types in initialization
matrix.c:21: warning: excess elements in union initializer
matrix.c:21: warning: (near initialization for ‘m[0]’)
matrix.c:21: warning: excess elements in union initializer
matrix.c:21: warning: (near initialization for ‘m[0]’)
matrix.c:21: warning: excess elements in union initializer
matrix.c:21: warning: (near initialization for ‘m[0]’)
matrix.c:21: error: incompatible types in initialization
matrix.c:21: warning: excess elements in union initializer
matrix.c:21: warning: (near initialization for ‘m[1]’)
matrix.c:21: warning: excess elements in union initializer
matrix.c:21: warning: (near initialization for ‘m[1]’)
matrix.c:21: warning: excess elements in union initializer
matrix.c:21: warning: (near initialization for ‘m[1]’)
Tiene que haber un conjunto de llaves alrededor de toda la expresión '.f = {...}' también. – cdhowie
@cdhowie Gracias, error tipográfico. Fijo. – unwind
La solución de limpieza estaba moviendo la declaración de flotación a la primera posición. Esto hace un uso innecesario ".f" y se compila sin errores. Gracias. – albertgumi