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èmes d'inclusion entre deux classes


Sujet :

C++

  1. #1
    Invité
    Invité(e)
    Par défaut Problèmes d'inclusion entre deux classes
    Bonjour, je suis en train de faire une casse brique en c++ avec la SDL.
    J'ai crée deux classes permettant de représenter la raquette et la balle.
    Je vais essayer d'expliquer clairement mon problème.
    Dans la classe Balle, je stock un pointeur vers mon objet raquette.
    Dans la classe raquette j'aimerais stocker un pointeur vers mon objet balle.
    J'inclus donc Balle.h dans Raquette.h et vice versa.
    Mais lorsque le compilateur compile Balle.h, il ne connait apparemment pas encore l'objet Raquette et me sort un erreur. Ci-dessous le code de ces deux classes et l'erreur du compilateur.

    Raquette.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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    #ifndef RAQUETTE_H
    #define RAQUETTE_H
     
    #include <SDL/SDL.h>
    #include "constantes.h"
    #include "Balle.h"
     
    class Raquette {
     
    private:
     
        Balle *balle
     
        SDL_Surface* s_raquette;
     
        SDL_Rect r_raquette;
     
    public:
     
        Raquette();
     
        ~Raquette();
     
        SDL_Surface* getSRaquette();
     
        SDL_Rect getRRaquette();
     
        void setRRaquette(int x);
     
        void closeRaquette();
     
    };
     
    #endif
    Balle.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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    #ifndef BALLE_H
    #define BALLE_H
     
    #include <SDL/SDL.h>
    #include "Raquette.h"
    #include "constantes.h"
     
     
    class Balle {
     
    public:
     
        Balle();
     
        Balle(Raquette* raq);
     
        SDL_Surface* getSBalle();
     
        SDL_Rect* getRBalle();
     
        void setRect(int x);
     
        void setStopThread(bool s_thread);
     
        SDL_TimerID getTimer();
     
        bool getStopThread();
     
        void closeBalle();
     
        // La fonction statique qui sera passée en paramètre à SDL_CreateThread
        static int f_globalThread(void* Data)
        {
            Balle* t_balle = reinterpret_cast<Balle*>(Data);
            return t_balle->f_thread();
        }
     
    private:
     
        SDL_Rect r_raquette;
     
        SDL_TimerID timer;
     
        SDL_Surface* s_balle;
     
        SDL_Rect r_balle;
     
        Raquette *raquette;
     
        bool stopThread;
     
        bool isOnRaq;
     
        bool monte;
     
        bool droite;
     
        void changeTrajectoire();
     
        void changeCoordonnees();
     
        //Fonction appelé lors du lancement du thread
        int f_thread();
    };
     
    #endif
    Erreur du compilateur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    D:\psp\sdl\casseBrique\Balle.h|15|error: expected `)' before '*' token|
    D:\psp\sdl\casseBrique\Balle.h|48|error: ISO C++ forbids declaration of `Raquette' with no type|
    D:\psp\sdl\casseBrique\Balle.h|48|error: expected `;' before '*' token|
    ||=== Build finished: 3 errors, 0 warnings ===|
    Merci de votre aide.

  2. #2
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107

  3. #3
    Invité
    Invité(e)
    Par défaut
    Merci beaucoup de la réponse.
    Désolé, j'avais regardé le FAQ avant de poster mais j'avais pas vu ça.

  4. #4
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    Pas de problèmes...
    Bonne continuation,

    Poukill.

Discussions similaires

  1. [Débutant] Probléme textbox publique entre deux classes
    Par TheRafal dans le forum Windows Presentation Foundation
    Réponses: 0
    Dernier message: 21/01/2014, 22h49
  2. problème declaration entre deux class
    Par info_sara dans le forum Débuter
    Réponses: 7
    Dernier message: 10/05/2012, 06h26
  3. Problème accès aux propriétés entre deux classes liées par many-to-one
    Par moha1984 dans le forum Persistance des données
    Réponses: 1
    Dernier message: 21/06/2010, 10h07
  4. Problème de portée entre deux classes
    Par Shikette dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 13/11/2009, 22h32
  5. Problème d'inclusion entre deux classes.
    Par XavierHWT dans le forum Débuter
    Réponses: 2
    Dernier message: 25/05/2009, 14h52

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