2010-05-24 6 views
3

ive a un problème struct il retourne:erreur de déclaration struct en C

cd.h:15: error: two or more data types in declaration specifiers 

est probablement quelque chose de simple ...

struct cd { 
     char titel[32]; 
     char artiest[32]; 
     int speelduur; 

    }; 

    typedef struct cd CD; 
    struct cdlijst{ 
     CD *item; 
     struct cdlijst *next; 
    } 


    typedef struct cdlijst CDLijst; 
+0

OMG l'a trouvé, c'était manquant; :( – Spidfire

Répondre

5

Peut-être vous avez besoin d'un point-virgule après la deuxième déclaration de struct, comme celui-ci :

struct cdlijst{ 
    CD *item; 
    struct cdlijst *next; 
}; 
3

Des messages d'erreur autrement incompréhensibles (y compris celui-ci) sont dus à des choses comme si mple comme points-virgules manquants.

3

La réponse est que vous avez manqué un point-virgule à la fin de la déclaration de struct cdlijst, ajouter un point-virgule va résoudre le problème. Par ailleurs, je voudrais recommander Clang pour la correction de la syntaxe, car il donnera de bien meilleures explications sur les erreurs de compilation. Voici un article comparant gcc et Clang sur les messages de récupération d'erreur: http://blog.llvm.org/2010/04/amazing-feats-of-clang-error-recovery.html.