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 :

méthode non déclarée *?*


Sujet :

C++

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 93
    Par défaut méthode non déclarée *?*
    Bonjour !!!
    Donc voila j'ai une classe Agenda qui contient un ptr sur une classe RendezVous qui contient deux ptr sur les classes Horaire et Date...

    je crée un nouveau rendez vous dans ma classe Agenda :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Mon_RendezVous = new RendezVous(duree, objet, jour, mois, annee, heures, minutes);
    Mes_RendezVous.push_back(Mon_RendezVous);
    Puis j'essaie de venir lire dans mon vecteur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for ( size_t i = 0, size = Mes_RendezVous.size(); i < size; ++i )
    {
       cout << Mes_RendezVous[i]->horaire.GetHeures() << endl;           
    }
    Cependant le compilateur me dit que la méthode GetHeures (publique) n'est pas déclarée même en ayant inclut les bons fichiers d'en-tête...
    Je ne sais pas d'où cete erreur puisse provenir

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Quel est le type de Mes_RendezVous[i]->horaire ?

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 93
    Par défaut
    Mes_RendezVous est un vecteur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::vector<RendezVous*> Mes_RendezVous;
    Si je teste seulement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Mes_RendezVous[i]->horaire
    cela marche

    Mais dès que j'essaie d'accéder à une méthode de ma classe Horaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Mes_RendezVous[i]->horaire.GetHeures()
    il me dit qu'elle n'est pas déclarée

  4. #4
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Ce n'est pas ce que j'ai demandé.
    Ça, je l'avais déjà deviné avec ma boule de cristal.

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 93
    Par défaut
    Alors c'est que je comprend mal ta question...pour moi Mes_RendezVous[i]->horaire n'a pas vraiment de type o__O
    horaire est juste un ptr sur ma classe Horaire :/

  6. #6
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Toutes les variables ont un type, encore heureux.
    Donc c'est un Horaire*.

    Ok, donc le problème est évident. Il n'y a pas d'opérateur . avec les pointeurs. Tu voulais sûrement dire -> à la place.

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 93
    Par défaut
    Dès que je remplace le . par -> ca fait planter complètement mon programme

  8. #8
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 93
    Par défaut
    oui oui ca compile...c'est ce genre de message :
    "Erreur d'exécution, signalée par un message "segfault" ou une boîte de dialogue de rapport d'erreur;"

    Dès que je rajoute ->GetHeures() à Mes_RendezVous[i]->horaire j'ai ce genre d'erreur.

  10. #10
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Plusieurs possibilités :
    - l'erreur vient de ta fonction GetHeures()
    - ta variable membre horaire ne pointe pas sur un Horaire valide (le plus probable d'après ma boule de cristal)

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 93
    Par défaut
    l'erreur vient de ta fonction GetHeures()
    il s'agit d'une toute petite fonction qui retourne un short pourtant


    ta variable membre horaire ne pointe pas sur un Horaire valide
    je crée mon objet de type Horaire dans le constructeur de RendezVous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    RendezVous::RendezVous(short _duree, string _objet, short _jour, short _mois, short _annee,
                           short _heures, short _minutes)
    {
      // strcpy(_objet, objet);
       duree = _duree;
       date = new Date(_jour, _mois, _annee);
       horaire = new Horaire(_heures, _minutes);
    }

Discussions similaires

  1. [D7]Méthode non accessible d'une classe à l'autre
    Par ero-sennin dans le forum Delphi
    Réponses: 2
    Dernier message: 20/03/2007, 17h44
  2. Réponses: 10
    Dernier message: 10/12/2006, 16h26
  3. variable non déclarée?
    Par carole8 dans le forum C
    Réponses: 15
    Dernier message: 30/11/2006, 16h13
  4. Méthodes non accessibles
    Par ez3kiel dans le forum Langage
    Réponses: 1
    Dernier message: 28/10/2006, 14h16
  5. [Méthode] Non traitement de données
    Par GLDavid dans le forum Langage
    Réponses: 11
    Dernier message: 11/08/2006, 17h27

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