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 :

Erreur de compilation sous windows. (avec mingw)


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Erreur de compilation sous windows. (avec mingw)
    Salut.

    Sous linux mon code compile mais pas sous windows.

    Voici l'erreur : error : expected primary expression before 'struct'
    return interface.intersects(ray, segment, info);
    in member function odfaeg::physic::BoundingSphere::onIntersects(odfaeg::physic::BaseInterface&);

    Dans le fichier boundingSphere.h :

    Code cpp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    bool onIntersects (BaseInterface& interface, CollisionResultSet::Info& info);

    CollisionResultSet est une structure dans une classe :

    Code cpp : 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
     
    class CollisionResultSet {
                public :
                struct Info {
                    Info() {
                        entity = nullptr;
                        center = math::Vec3f(0, 0, 0);
                        mtu = math::Vec3f(0, 0, 0);
                        nearestVertexIndex1 = -1;
                        nearestPtIndex1 = -1;
                        nearestEdgeIndex1 = -1;
                        nearestFaceIndex1 = -1;
                        nearestVertexIndex2 = -1;
                        nearestPtIndex2 = -1;
                        nearestEdgeIndex2 = -1;
                        nearestFaceIndex2 = -1;
                    }
                    math::Vec3f mtu, center;
                    graphic::Entity* entity;
                    int nearestVertexIndex1;
                    int nearestPtIndex1;
                    int nearestEdgeIndex1;
                    int nearestFaceIndex1;
                    int nearestVertexIndex2;
                    int nearestPtIndex2;
                    int nearestEdgeIndex2;
                    int nearestFaceIndex2;
                };

    Voila merci d'avance pour votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Non rien.

  3. #3
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    c'est pas grave, tu as encore raté ton constructeur.

    member initialiser list

  4. #4
    Invité
    Invité(e)
    Par défaut
    Oui j'ai essayé mais ça ne résoud pas le problème. :


    Code cpp : 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
     
     struct Info {
                    Info() : entity(nullptr), center(0, 0, 0), mtu(0, 0, 0), nearestVertexIndex1(-1),
                    nearestPtIndex1(-1), nearestEdgeIndex1(-1), nearestFaceIndex1(-1),
                    nearestVertexIndex2(-1), nearestPtIndex2(-1), nearestEdgeIndex2(-1), nearestFaceIndex2(-1) {
     
                    }
                    math::Vec3f mtu, center;
                    graphic::Entity* entity;
                    int nearestVertexIndex1;
                    int nearestPtIndex1;
                    int nearestEdgeIndex1;
                    int nearestFaceIndex1;
                    int nearestVertexIndex2;
                    int nearestPtIndex2;
                    int nearestEdgeIndex2;
                    int nearestFaceIndex2;
                };

    J'ai même essayé en retirant carrément le constructeur mais même erreur.

    PS : Comment on fait encore pour définir le constructeur d'une classe interne dans le .cpp ?

    Merci.

  5. #5
    Membre Expert Avatar de Astraya
    Homme Profil pro
    Consommateur de café
    Inscrit en
    Mai 2007
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Consommateur de café
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 048
    Par défaut
    expected primary expression before 'struct'
    C'est a 99% un problème d'include selon moi.... Il ne doit pas trouver CollisionResultSet

    PS : Comment on fait encore pour définir le constructeur d'une classe interne dans le .cpp ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CollisionResultSet::Info::Info(){}
    PS: JE sais pas ce qui me fait le plus peur... Que tu veuilles faire une moteur de jeu où que tu veuilles faire un moteur de jeu et que tu sais même pas faire un constructeur dans un cpp...

  6. #6
    Invité
    Invité(e)
    Par défaut
    Oui il ne le trouve pas mais le plus bizarre c'est qu'il compile le module physique sans problème (là il le trouve) et quand il compile le module graphique il ne le trouve plus ...

Discussions similaires

  1. Compilation de QMYSQL sous Windows avec MinGW
    Par zebedee dans le forum Bases de données
    Réponses: 19
    Dernier message: 09/08/2012, 00h48
  2. Compilation sous windows avec devc++
    Par dr_octopus74 dans le forum Dev-C++
    Réponses: 4
    Dernier message: 17/01/2007, 22h48
  3. erreur de link sous wxWidgets avec Mingw
    Par pyoda dans le forum wxWidgets
    Réponses: 4
    Dernier message: 28/04/2006, 19h03

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