Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: aurquiel en 25 Julio 2018, 21:34 pm



Título: Enums inside of Structs,compile error
Publicado por: aurquiel en 25 Julio 2018, 21:34 pm
Hola estoy intentando correr este codigo pero el compilador me arroja

Código:
||=== Build: Debug in test4 (compiler: GNU GCC Compiler) ===|
13|error: invalid type argument of '->' (have 'unsigned int')|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

Aqui el codigo, si me podrian ayudar el por que de este error.

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef struct errorStruct{
  5.     enum ErrorCompile { sintax, declaration } ErrorCompile;
  6.     enum ErrorDriver { connection, power } ErrorDriver;
  7. }ErrorStruct;
  8.  
  9. int main()
  10. {
  11.    ErrorStruct *myErrorStruct = calloc(sizeof(ErrorStruct),1);
  12.  
  13.    printf("Error %d\n",myErrorStruct->ErrorCompile->declaration);
  14.  
  15. return 0;
  16. }
  17.  


Título: Re: Enums inside of Structs,compile error
Publicado por: MAFUS en 26 Julio 2018, 02:05 am
No puedes definir enums dentro de una estructura, debes hacerlo fuera. Las estructuras son variables reunidas de forma lógica, por tanto no tiene sentido crear ese tipo de dato dentro. Lo que puedes hacer es sacarlos fuera y crear sus variables dentro del struct.


Título: Re: Enums inside of Structs,compile error
Publicado por: aurquiel en 26 Julio 2018, 14:39 pm
 ;-)

Gracias