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 :

Conflit entre class et struct


Sujet :

C++

  1. #21
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 20
    Par défaut
    Edit: oui j'ai mis en commentaire parce que ca a pas marché.

    ProcessObject.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
    #ifndef PROCESSOBJECT_H_
    #define PROCESSOBJECT_H_
     
     
     
     
    class ProcessObject
    {
     
    protected:
    	string m_sTitle;
    	string m_sDescription;
     
     
     
    public:
    	ProcessObject();
    	virtual ~ProcessObject();
     
    	virtual bool check()=0;
    	virtual bool execute()=0;
    	bool setTitle(string title);
    	bool setDesc(string desc);
    	string getTitle();
    	string getDesc();
     
    };

  2. #22
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut
    si tu le décommentes, tu as encore la même erreur?

    Normalement avec le include dans task.cpp ca devrait passer

  3. #23
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 20
    Par défaut
    quand je décommente j'ai une nouvelle erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Severity and Description	Path	Resource	Location	Creation Time	Id
    error: forward declaration of `struct ProcessObject'	DIS	Task.h	line 5	1184859364125	4412
    error: invalid use of undefined type `struct ProcessObject'	DIS	Task.h	line 8	1184859364125	4411

  4. #24
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut
    Bon j'ai compilé les entêtes.

    Le problème apparement avec task, c'est que pour hériter d'une classe tu dois l'avoir définie.

    Donc t'es obligé d'inclure "ProcessObject.h" dans Task.h, tu peux commenter l'autre ligne.

  5. #25
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 20
    Par défaut
    Mais ProcessObject est bien définie et d'autres classes héritent d'elle sans souci.

  6. #26
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut
    Ce que je veux dire c'est que au moment de compiler task.h, elle est pas encore définie, c'est pour ça qu'il faut la compiler avant en l'incluant.

  7. #27
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 20
    Par défaut
    quand je fais ca:
    PreviousManager.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
    #include "Previous.h"
     
    #include "PreviousManager.h"
    //#include "Task.h"
    ......
     
    /*bool PreviousManager::checkCond(Previous* P)
    {
    	// si le Previous na pas de condition alors on retourne true
     
    	if (!(P->getIsCriteria()))
    		return true;
    	if ((P->getCond())==((P->getTask())->getResult()))
    		return true;
    	else
    		return false;
    }
    */
    avec les includes suivant dans Task.cpp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #include "ProcessObject.h"
    #include "Previous.h"
    #include "PreviousManager.h"
     
    #include "Task.h"
    et que je commente ProcessObject dans Task.h, ca compile.


    EDIT: c'est ce que j'avais dans mon projet avant de vouloir rajouter la fonction PreviousManager::checkCond(Previous*p)

  8. #28
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut
    Ou alors tu dois trouver un autre moyen de la compiler avant, par exemple en mettant #include "ProcessObject.h" dans ton main en premier, ou en mettant #include "ProcessObject.h" avant #include "Task.h" dans Task.cpp (dsl)

    Edit: tu m'as devancé

  9. #29
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 20
    Par défaut
    Le problème vient donc de PreviousManager et de cette fonction qui fait un appel aux méthode de Task.

  10. #30
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut
    Edit: dsl je pensais qu'il y était pas dans ton tast.cpp (cf 1er post). Maintenant tout marche?

    EDIT 2: Dans previousManager tu dois faire le #include "ProcessObject.h" avant le Task.h

  11. #31
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 20
    Par défaut
    Tout marche sauf ma fonction
    Je trouverai un moyen de la rajouter autrement....

  12. #32
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut
    dsl tu as rajouté le #include "ProcessObject.h" dans previousmanager.cpp?

  13. #33
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 20
    Par défaut
    oui!!!!!!! ca marche!!!!
    Merci

  14. #34
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut
    ouf!

    Ca m'a aussi appris des choses

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [script.aculo.us] Conflit entre 2 classes "clé en main" (autosuggest)
    Par marsupix dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 29/08/2007, 17h31
  2. Conflit entre java.util.Date et class java.sql.Date
    Par vonitiana dans le forum Langage
    Réponses: 3
    Dernier message: 30/06/2006, 11h43
  3. conflit entre les classe java.sql.* et java.util.*;
    Par obydissonn dans le forum Langage
    Réponses: 4
    Dernier message: 26/05/2006, 18h00
  4. conflit entre couleurs
    Par khayyam90 dans le forum OpenGL
    Réponses: 2
    Dernier message: 03/07/2004, 18h00
  5. [Technique] Conflits entre plusieurs requêtes
    Par Neowile dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 24/03/2003, 09h37

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