2017-07-11 4 views
0

I utilisé ENUM pour avoir des variables booléennes dans C en utilisant le code suivant dans le fichier d'en-tête:ENUM C, erreur variable globale: variable a initialiseur mais un type incomplet

enum myBool { FALSE = 0, TRUE = 1}; typedef enum _myBool Bool; 

je définit des variables globales Bool avec: extern Bool low;

puis lorsque j'ai essayé d'initialiser les variables à false dans un autre fichier .c avec Bool low = FALSE je reçois la variable d'erreur 'low' a l'initialiseur mais le type incomplet.

Comment puis-je résoudre ce problème? Merci beaucoup!!

Répondre

1

Vous avez défini votre ENUM myBool pas _myBool si vous devez changer

typedef enum _myBool Bool; 

à

typedef enum myBool Bool; 
0

then I defined some global Bool variables with: extern Bool low ;

de sorte que vous avez déclaré dans l'autre fichier. sinon, vous obtiendrez une erreur de lien