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

Langage C++ Discussion :

Besoin de réponse à un problème résolu inconsciemment.


Sujet :

Langage C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 177
    Par défaut Besoin de réponse à un problème résolu inconsciemment.
    Bonjour! Voilà je développez une application en c++ en utilisant l'API SDL et OpenGL. Mais voilà, j'ai résolu mon problème en faisant quelque chose que je n'avais jamais fait auparavant. Voici mes classes, une qui se nomme "Device" et l'autre "Engine".

    Dans mon Device.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
     
    class Device
    {
    public:
        Device();
        virtual ~Device();
     
        int Width;
        int Height;
        int Bits;
        string Title;
     
    private:
    };
    Avant que je résolu mon problème, j'avais :
    On peut remarquer, qu'il y a la classe Device dans le constructeur Engine.
    Le problème venait de la méthode main qui maffichait une erreur de ce style "Device*&".

    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
     
    class Engine
    {
    public:
        Engine(Device* device, GLEngine::Color color);
        Engine(const Engine& orig);
        virtual ~Engine();
     
        void Run();
     
    private:
        int _Width, _Height, _Bits;
        string _Title;
        SDL_Surface* _Screen;
        SDL_Event event;
        GLEngine* gl_engine;
        bool QuitApp;
     
        void KeyboardDown();
        void VideoOnResize();
        void Dispose();
    };
    La méthode main :

    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
     
    int main(int argc, char** argv)
    {
        // Device
        Device* device = new Device();
        device->Title  = "Test Engine";
        device->Width  = 1024;
        device->Height = 768;
        device->Bits   = 32;
     
        // Color
        GLEngine::Color color = { 0.5f, 0.5f, 0.5f };
     
        // Engine
        Engine* engine = new Engine(device, color);
        engine->Run();
     
        delete device;
        delete engine;
     
        return (EXIT_SUCCESS);
    }
    Ensuite dans ma classe Engine corrigé par "class Device":

    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
     
    class Device;
     
    class Engine
    {
    public:
        Engine(Device* device, GLEngine::Color color);
        Engine(const Engine& orig);
        virtual ~Engine();
     
        void Run();
     
    private:
        int _Width, _Height, _Bits;
        string _Title;
        SDL_Surface* _Screen;
        SDL_Event event;
        GLEngine* gl_engine;
        bool QuitApp;
     
        void KeyboardDown();
        void VideoOnResize();
        void Dispose();
    };
    C'est ici que mon problème de compilation, c'est résolu et à afficher ma fenêtre normalement. Si vous pourriez me dire comment ça se fait, qu'il fallait faire pour que cette manipulation fonctionne. Je vous en remercie. Bonne après-midi.

  2. #2
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Cette Question/Réponse de la FAQ C++ risque de t'aider à comprendre le pourquoi du comment

  3. #3
    Membre confirmé

    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 177
    Par défaut
    Je te remercie de m'avoir répondu aussi vite, j'ai enfin compris à quoi cela pouvait servir!

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

Discussions similaires

  1. Besoin d'aide : gros problème de décalage
    Par vallica dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 09/06/2006, 14h10
  2. Réponses: 5
    Dernier message: 05/05/2006, 15h08

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