C++ erreur: classe de stockage ne peut être spécifié que pour les objets et les fonctions struct
Je reçois le message d'erreur :
erreur: une classe de stockage ne peut être spécifié que pour les objets et les fonctions struct
dans mon fichier d'en-tête..
/*
* stud.h
*
* Created on: 12.11.2013
* Author:
*/
//stud.h: Definition der Datenstruktur Stud
#ifndef _STUD_H
#define _STUD_H
struct Stud{
long matrnr;
char vorname[30];
char name[30];
char datum[30];
float note;
};
extern Stud mystud[];
int einlesen (struct Stud[]);
void bubbleSort(struct Stud[] , int );
void ausgeben(struct Stud[], int);
#endif
où est le problème?
quand j'enlève la extern, Eclipse se plaint de la définition de plusieurs de plusieurs classes........ d'abord défini ici....
Supprimer
Est-ce être compilé comme le C ou le C++? Il ressemble à C.
Je n'obtiens pas d'erreurs de compilation de ce que C++. Si c'est réellement le C (dans ce cas veuillez mettre à jour les balises), alors vous aurez besoin
J'ai enlevé extern Goujon mystud[] mais maintenant, il se plaint de "multiples définition des classes... einlesen() bubbleSort() ausgebe()..."
Supprimer
extern Stud mystud[]
. Refonte de votre code pour utiliser pas de variables globales.Est-ce être compilé comme le C ou le C++? Il ressemble à C.
Je n'obtiens pas d'erreurs de compilation de ce que C++. Si c'est réellement le C (dans ce cas veuillez mettre à jour les balises), alors vous aurez besoin
struct Stud
pas seulement Stud
que le type de mystud
. Dans les deux cas, vous ne devriez pas utiliser des noms réservés comme _STUD_H
les garde.J'ai enlevé extern Goujon mystud[] mais maintenant, il se plaint de "multiples définition des classes... einlesen() bubbleSort() ausgebe()..."
OriginalL'auteur user2774480 | 2013-11-12
Vous devez vous connecter pour publier un commentaire.
Je dirais que votre problème est avec le
Il devrait probablement changer pour quelque chose de plus comme
puis dans la mise en œuvre de fichier pour cet en-tête:
Je pense que vous pourriez peut-être s'en sortir avec la
extern struct Stud mystud[];
déclaration avec certains compilateurs qui va toujours de les convertir en interne, le correspondant de type pointeur, mais pas avec tous les compilateurs (Besoin de vérifier mon norme ANSI C89) pour être sûr, mais la conversion n'est autorisé par la norme en fonction des déclarations et définitions pas dans les déclarations de variables.)OriginalL'auteur diverscuba23