Pular para o conteúdo

Enum em c [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. Enum em c [RESOLVIDO]

Enviado em 16/11/2018 - 12:01h

Pessoal, eu estou usando dois arquivos, o database.c e database.h

no database.h tem:

typedef enum _type_room TypeRoom;


no database.c tem:

enum _type_room {
SIMPLE_EXECUTIVE = 1,
DOUBLE_EXECUTIVE,
TRIPLO_EXECUTIVE,
SIMPLE_LUXURY,
DOUBLE_LUXURY,
TRIPLE_LUXURY,
PRESIDENTIAL
};
void foo(void)
{
enum _type_room a = DOUBLE_EXECUTIVE;
printf("ok\n");
printf("%d\n", a);
}


a função foo funcional normalmente, agora quando eu chamo no main, que está no arquivo teste.c:

#include "database.h"
int main(void) {
TypeRoom b = DOUBLE_EXECUTIVE;
printf("%d\n", b);
foo();
return 0;
}


aparece a seguinte mensagem:
note: each undeclared identifier is reported only once for each function it appears in
teste.c:4:14: error: storage size of ‘a’ isn’t known
TypeRoom b = DOUBLE_EXECUTIVE;

Como faço para colocar e declaração do enum no database.h e sua implementação no database.c para poder usar no meu main em outro arquivo.

Desde já obrigado.

Responder tópico

2. Re: Enum em c [RESOLVIDO]

Melhor resposta

Enviado em 16/11/2018 - 12:20h

Mova a definição do enum para o arquivo de cabeçalho (.h).

3. Re: Enum em c [RESOLVIDO]

Enviado em 16/11/2018 - 13:02h

paulo1205 escreveu:

Mova a definição do enum para o arquivo de cabeçalho (.h).
Obrigado ^^

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder