2010-11-04 10 views
0

Je reçois l'erreur lorsque l'identificateur n'est pas trouvé dans cet extrait. S'il vous plaît aider c'est le bugDéclaration de structure en C

typedef struct 
{ 
    Int32 frameID; 
    Int32 slotIndx; 
    Int32 symNumber; 

}ControlList, *controlListPtr; 

Merci

+1

Votre titre dit 'C', mais il est marqué comme' C++ '. Laquelle est-ce? Aussi, quelle est l'erreur "identifiant non trouvé"? Quel est le message d'erreur du compilateur exact que vous avez reçu? –

+0

Quelle est l'erreur réelle? Est-ce que "Int32" est défini? – wj32

Répondre

1

Je ne pense pas Int32 est un type de buildin. Essayez #include<stdtype.h> et utilisez int32 à la place?

+0

'stdtype.h' et' int32'? Ne voulez-vous pas dire 'stdint.h' et' int32_t'? –

+0

@in silico, vous avez raison –

3

probablement l'identificateur Int32 n'a pas été trouvé. essayer ceci:

#include <stdint.h> 
typedef int32_t Int32; 

typedef struct 
{ 
    Int32 frameID; 
    Int32 slotIndx; 
    Int32 symNumber; 
} ControlList, *controlListPtr; 
0

Int32 n'est pas un type intégré. Comme vous utilisez Int32 comme type de variable membre de la structure, vous avez une erreur "identifiant non trouvé". Très probablement, Int32 est défini ailleurs dans votre projet. Si c'est un fichier d'en-tête, vous devez #include ce fichier d'en-tête dans vos fichiers où vous utilisez Int32. Si Int32 n'est défini nulle part, vous devez le définir avec quelque chose de significatif pour vous.

+0

J'ai #include fichier DataTypes.h où je fais typedefs. Donc ce n'est pas le problème. Je fais face à ce problème pendant le débogage, la fenêtre de surveillance. J'ai trouvé que d'autres variables étaient visibles. Seules les structures ne l'étaient pas. Lorsque j'ai suivi, j'ai obtenu une structure dans la fenêtre de surveillance sans erreur "Identifiant non trouvé" controlListPtr-> frameID = 0; Je ne connais pas la raison pour laquelle – user437777

+0

'* controlListPtr' est un type. vous ne pouvez pas l'utiliser comme ça. vous pouvez essayer: 'ControlList cl; controlListPtr cp = &cl; cp-> frameID = 10; cout << cp-> frameID << endl; ' – Donotalo