SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: Riskz en Viernes 6 de Marzo de 2009, 20:28

Título: syntax error before '.' token
Publicado por: Riskz en Viernes 6 de Marzo de 2009, 20:28
Código: Text
  1.  
  2. typedef struct {
  3.                 GLfloat amb[4];
  4.                 GLfloat dif[4];
  5.                 GLfloat spe[4];
  6.                 GLfloat shi;
  7.                 } RS_material;
  8.  
  9. typedef struct {
  10.                 GLfloat amb[4];
  11.                 GLfloat dif[4];
  12.                 GLfloat spe[4];
  13.                 GLfloat pos[4];
  14.                 } RS_light;
  15.  
  16. RS_material silver;
  17. RS_light luz0;
  18.  
  19. silver.amb={0.19225,0.19225,0.19225,1.0};
  20. silver.dif={0.50754,0.50754,0.50754,1.0};
  21. silver.spe={0.508273,0.508273,0.508273,1.0};
  22. silver.shi=0.4;
  23.  
  24. luz0.pos={1.0,1.0,1.0};
  25. luz0.amb={0.0,0.0,0.0,1.0};
  26. luz0.spe={1.0,1.0,1.0,1.0};
  27. luz0.dif={1.0,1.0,1.0,1.0};
  28.  
  29.  

Cuando intento compilar me salta este error en las lineas 19,20,21,22,25,26 y 27: "syntax error before '.' token"
Alguien sabe que puede ser?
Gracias
Título: Re: syntax error before '.' token
Publicado por: Eternal Idol en Viernes 6 de Marzo de 2009, 20:41
¿El codigo ese esta en el medio de la nada?
Título: Re: syntax error before '.' token
Publicado por: Riskz en Viernes 6 de Marzo de 2009, 20:46
No, es parte de un programa, pero aunque lo ponga dentro de una funcion me sigue tirando error exatcamente en esos lugares, como si hubiera un error de sintaxis en la inicializacion de las variables :S
Título: Re: syntax error before '.' token
Publicado por: Eternal Idol en Viernes 6 de Marzo de 2009, 21:14
Solo se puede inicializar arrays con esa sintaxis en la declaracion.
Título: Re: syntax error before '.' token
Publicado por: Riskz en Viernes 6 de Marzo de 2009, 21:27
Código: Text
  1. silver.amb[0]=0.19225;
  2. silver.amb[1]=0.19225;
  3. silver.amb[2]=0.19225;
  4. silver.amb[3]=1.0;
  5. silver.dif[0]=0.50754;
  6. silver.dif[1]=0.50754;
  7. silver.dif[2]=0.50754;
  8. silver.dif[3]=1.0;
  9. silver.spe[0]=0.508273;
  10. silver.spe[1]=0.508273;
  11. silver.spe[2]=0.508273;
  12. silver.spe[3]=1.0;
  13. silver.shi=0.4;
  14.  
  15. luz0.pos[0]=1.0;
  16. luz0.pos[1]=1.0;
  17. luz0.pos[2]=1.0;
  18. luz0.amb[0]=0.0;
  19. luz0.amb[1]=0.0;
  20. luz0.amb[2]=0.0;
  21. luz0.amb[3]=1.0;
  22. luz0.spe[0]=1.0;
  23. luz0.spe[1]=1.0;
  24. luz0.spe[2]=1.0;
  25. luz0.spe[3]=1.0;
  26. luz0.dif[0]=1.0;
  27. luz0.dif[1]=1.0;
  28. luz0.dif[2]=1.0;
  29. luz0.dif[3]=1.0;
  30.  

Pues gracias no sabia que no se podia usar esa sintaxis, siempre se aprende algo nuevo.
Ahora probe de esta manera, pero me sigue saliendo "c syntax error before '.' token", aunque ahora solo aparece en la primer inicializacion :S

EDITO: ya esta, ya lo arregle, muchas gracias eternal, te debo una -.^
Título: Re: syntax error before '.' token
Publicado por: Eternal Idol en Viernes 6 de Marzo de 2009, 21:50
De nadas  B)