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 :

[COMP] probleme à la compilation


Sujet :

C++

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 76
    Par défaut [COMP] probleme à la compilation
    Bonjour tout le monde !

    je vien d'installer code::blocks sur mon ordinateur et je me suis mis à programmer à l'aide de la SDL.

    Pour l'installation de la SDL sous code::blocks j'ai naviguer sur internet.

    Alors je commence à programmer et je tombe sur une erreur lors de la compilation que je ne comprend pas.

    Voici la fameuse erreur :
    taire\Bureau\Mario\main.cpp|20|error: request for member `evenementTouche' in `moteurPhysique', which is of non-class type `MPhysique ()()'|
    Mon 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
    23
    24
    25
    26
     
    #include <stdlib.h>
    #include <stdio.h>
    #include <iostream>
     
    #include "MGraphique.h"
    #include "MPhysique.h"
     
    using namespace std;
     
    int main(int argc, char **argv)
    {
        int continuer = 1;
     
        MGraphique moteurGraphique(640,480,32,"Mario alpha 0.1");   // Pour charger la fenetre
        MPhysique moteurPhysique();                                 // Pour charger le moteur graphique
     
        /* boucle principal du jeu */
     
        while(continuer ){
            continuer = moteurPhysique.evenementTouche();           // Pour attendre un evenement
            moteurGraphique.actualiseEcran();                       // Pour actualiser la fenetre
        }
     
        return 0;
    }
    Ma classe MPhysique:

    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
     
    #ifndef MPHYSIQUE_H_INCLUDED
    #define MPHYSIQUE_H_INCLUDED
     
    #include <SDL.h>
     
    #define AUCUNE 0
    #define DROITE 1
    #define GAUCHE 2
     
    class MPhysique
    {
          private:
                 SDL_Rect position;
                 SDL_Event event;
                 int tempsActuel, tempsPrecedent;
                 int direction;
                 int continuer;
     
          public:
                 MPhysique();
                 ~MPhysique();
                 int evenementTouche();                                  // pour gerer les touches clavier
    };
     
    #endif // MPHYSIQUE_H_INCLUDED

    L'implementation de ma classe MPhysique:

    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
     
    #include <iostream>
    #include "MPhysique.h"
     
    using namespace std;
     
    MPhysique::MPhysique()
    {
                 tempsActuel = tempsPrecedent = 0;
                 position.x = position.y = 0;
                 continuer = 1;
                 direction = AUCUNE;
    }
     
    MPhysique::~MPhysique()
    {
                 // rien a faire
    }
     
    int MPhysique::evenementTouche(void)
    {
         SDL_PollEvent(&event);
     
              switch(event.type)
              {
                   case SDL_QUIT:
                        continuer = 0;                 // pour quitter la fenetre
                        break;
     
                   case SDL_KEYDOWN:
                        switch(event.key.keysym.sym)
                        {
                             case SDLK_RIGHT:          // Flèche droite
                                  direction = DROITE;
                                  break;
     
                             case SDLK_LEFT:           // Flèche gauche
                                  direction = GAUCHE;
                                  break;
     
                             default : break;
                        }
                        break;
     
                   case SDL_KEYUP:
                        switch(event.key.keysym.sym)
                        {
                             case SDLK_RIGHT:          // Flèche droite
                                  direction = AUCUNE;
                                  break;
     
                             case SDLK_LEFT:           // Flèche gauche
                                  direction = AUCUNE;
                                  break;
     
                             default: break;
                        }
                        break;
     
                  default: break;
              }
     
              return(continuer);
    }
    Si quelqu'un a une réponse à me fournir sur le problème rencontrer , je suis preneur. Merci pour l'aide qui sera apporter.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Août 2007
    Messages : 190
    Par défaut
    Salut,

    Le problème vient du fait que le compilateur considère cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MPhysique moteurPhysique();
    comme la déclaration d'une fonction moteurPhysique ne prenant aucun paramètre et renvoyant un objet de type MPhysique.
    Remplace cette ligne par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MPhysique moteurPhysique;
    et ça devrait rouler.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 76
    Par défaut résolu
    Merci Montag.

    Tu as raison c'était effectivement sa l'erreur.
    La prochaine fois je tacherai de m'en souvenir.

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

Discussions similaires

  1. [API][Cup] problem niveau compilation
    Par KoLziG dans le forum Général Java
    Réponses: 1
    Dernier message: 02/01/2005, 19h30
  2. [JSP & TAGLIB] Probleme de compilation
    Par GesMo dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 17/05/2004, 15h03
  3. Probleme de Compilation de la STL
    Par stoluup dans le forum MFC
    Réponses: 3
    Dernier message: 05/05/2004, 17h25
  4. [TP]Probleme de compilation sous TP7
    Par yffick dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 18/12/2003, 20h32
  5. Problemes de compilation avec g++ sous linux
    Par Selimmel dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 19/09/2003, 13h43

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