J'écris actuellement un logiciel de reconnaissance de jetons pour XML. Je vais sur la base de FSA de le faire. J'ai donc un fichier d'en-tête qui a le code suivant ...C++ - Trop de fichiers inclus? & Struct Redéfinition?
#define MAX_LENGTH 512
#define MAX_NAME 25
struct token
{
char name[MAX_NAME + 1];
int type;
unsigned char str[MAX_LENGTH + 1];
};
#define TOKEN_TYPES 8
#define SPACES 0
#define NEWLINE 1
#define WORD 2
#define BEGINTAG 3
#define ENDTAG 4
#define EMPTYTAG 5
#define ERROR 6
#define ENDFILE 7
Avec cela, je reçois l'erreur:
error C2011: 'token' : 'struct' type redefinition
Je reçois également une autre erreur étrange dans mon dossier gettoken.cpp
. Où je mets en œuvre la FSA. Le fichier est trop long pour afficher tout le contenu. Mais avec cela, je reçois l'erreur ...
error C1014: too many include files : depth = 1024
Et voici une partie du code pour ce fichier .cpp. J'inclurai seulement mes importations dans ceci. Je suis sûr que c'est quelque chose de stupide comme c'est habituellement pour moi. Mais s'il vous plaît aidez-moi! Merci!
Avez-vous ajouté des gardes à inclure vos têtes? – George
Une raison pour laquelle vous n'utilisez pas simplement 'std :: string'? Et un 'enum'? Ou des constantes au lieu de '# define' au * moins *. – GManNickG