IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Problème avec des classes dans des fichiers headers


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 139
    Points : 55
    Points
    55
    Par défaut Problème avec des classes dans des fichiers headers
    Dans mon programme, j'ai créé une classe Menu_du_jeu dans un fichier menu.h

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    #ifndef _CLASS_MENU_H
    #define _CLASS_MENU_H
     
    #include <SDL\SDL.h>
     
    class Menu_du_jeu
    {
    	private:
    		//JE NE POST PAS CETTE PARTIE DU CODE
    	public:
    		// Constructeur.
    		Menu(int nbr_Sprite=18);
     
    		// Destructeur.
    		~Menu();
    };
     
    #endif
    Avec son fichier menu.cpp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    #include <math.h>
    #include "menu.h"
     
    #define MAX(a, b)	((a)>(b)?(a):(b))
    #define ABS(a)		((a)>0?(a):-(a))
     
    ////////
    // CONSTRUCTEUR.
    /////
    //
    //
    Menu_du_jeu::Menu_du_jeu(int nbr_Sprite)
    {
    	image = new SDL_Surface*[nbr_Sprite];
    	rect = new SDL_Rect[nbr_Sprite];
     
    	for(int i=0; i<nbr_Sprite; i++)
    	{
    		image[i] = NULL;
    	}
     
    	taille = nbr_Sprite;
    }
     
    ////////
    // DESTRUCTEUR.
    /////
    //
    //
    Menu_du_jeu::~Menu_du_jeu()
    {
    	for(int i=0; i<taille; i++)
    		SDL_FreeSurface(image[i]);
     
    	delete image;
    	delete rect;
    }
    Dans mon fichier main.cpp :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #include "menu.h"
     
    int main(int NbrArg, char *Arg[])
    {
        int i, e, pos_x, pos_y, blit = 0, click;
        char fichier[30];
    	Sprite_Balle balle;
    	Sprite_Vaisseau vaisseau;
    	struct jeu game;
    	game.mode = 0;
    	Menu_du_jeu menu;////////CLASSE MENU
    //ECT...
    }

    Mais dans les erreurs de compilation, ile me met :

    `Menu_du_jeu' undeclared (first use this function)

    J'aimerais bien quelques explications...

  2. #2
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    class Menu 
    { 
       private:
    Pourquoi cette classe ne se nomme t-elle pas Menu_du_jeu ?
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 139
    Points : 55
    Points
    55
    Par défaut
    Oups, j'ai du supprimer _du_jeu sans faire exprès.

    J'edit.

  4. #4
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 139
    Points : 55
    Points
    55
    Par défaut
    Je vourais aussi signaler que quand j'ouvre le projet, il ouvre tout mes fichiers, sauf menu.h et menu.cpp.

    Mais ces 2 fichiers se trouvent bien dans l'arborescence.

  5. #5
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    à quel endroit se situe ton erreur, on peut avoir un ECM (exemple complet minimal) pour ton erreur ?
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  6. #6
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 139
    Points : 55
    Points
    55
    Par défaut
    Un exemple complet minimal ?? Vous voluez tout mon code ???

    L'erreur est a la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       Menu_du_jeu menu;////////CLASSE MENU

  7. #7
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    dans ecm le m c'est pour MINIMAL

    parce que là, avec ce que t'as donné, ça marche nickel... vérifie les fichierrs, tu as l'air d'être sous Dev-C++ vérifie en particulier le fichier .dev, quite à le recréer... et fait gaffe que tous les fichiers soient dans le même dossier
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  8. #8
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 139
    Points : 55
    Points
    55
    Par défaut
    J'ai récréé les fichiers menu.cpp et menu.h...

    Maintenant ça fonctionne.

    J'ai peut etre oublier de dire qu'avant j'avait fait : "Ajouter au projet"

  9. #9
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    bah... sûrement un bug, ça arrive des fois...

    résolu ? (en bas à gauche ^^)
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  10. #10
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 139
    Points : 55
    Points
    55
    Par défaut
    Oui, résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Garder la trace d'instanciation des classes dans un fichier de config xml
    Par ilaam dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 09/06/2014, 12h24
  2. [C#]Remonter des événements dans des classes imbriquées
    Par Kcirtap dans le forum Windows Forms
    Réponses: 9
    Dernier message: 14/12/2013, 12h43
  3. Réponses: 1
    Dernier message: 29/01/2013, 14h44
  4. Problème avec MetaFilenameFilter (slash dans des String)
    Par Sylver--- dans le forum Langage
    Réponses: 6
    Dernier message: 14/08/2007, 14h16
  5. Réponses: 22
    Dernier message: 29/01/2005, 11h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo