2010-10-20 8 views
1

Je suis la programmation en C. Je reçois l'erreur suivante:erreur de syntaxe - jeton ";" inséré avant « nom de la variable »

ctc E208: ["..\..\ECB\Include\ecb.h" 4/11] syntax error - token ";" 
inserted before "u8_vTeethBeforeMissingTeeth1" 

Voici ce que j'ai dans le fichier .h:

#ifndef __ECB_H__ 
#define __ECB_H__ 

extern u8 u8_vTeethBeforeMissingTeeth1; 
extern u8 u8_vTeethBeforeMissingTeeth2; 

#endif /* __ECB_H__ */ 

Quelqu'un peut-il s'il vous plaît dites-moi ce qui me manque dans cette section de code?

+0

A quoi ressemble le code qui inclut ce fichier head? – stacker

Répondre

5

Le problème est que votre en-tête n'est pas autonome. Il repose sur un type 'u8' qui n'est pas défini ici (et qui n'est défini dans aucun des autres en-têtes que vous avez inclus auparavant). Vous devez inclure l'en-tête qui définit 'u8' dans votre entête 'ecb.h' avant de déclarer vos variables 'dents manquantes'.

Les en-têtes doivent être autonomes; Si vous avez besoin des services de l'en-tête, vous devriez pouvoir l'inclure sans vous soucier de ce qui doit être inclus. Les en-têtes standard C font cela pour vous - vous devriez le faire vous-même avec vos propres en-têtes.

+0

C'est presque certainement la bonne réponse. – Swiss

+0

Merci un million, Jon .. Plus tôt j'ai placé ce commentaire au mauvais endroit :) – Angelo

0

C'est ma conjecture. Vous avez #define u8 et cette définition est fausse. Il contient des extra; quelque part.

+0

Non; le compilateur inséré le point-virgule comme une tentative de récupération d'erreur. –

+0

Merci beaucoup pour les réponses. Le problème semblait être avec la déclaration de u8. J'ai donc inclus le fichier qui a une définition pour u8, et il fonctionne correctement maintenant. – Angelo

+0

Merci un million. – Angelo

Questions connexes