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 : no matching function


Sujet :

C++

  1. #1
    Membre éclairé
    Avatar de tamtam64
    Homme Profil pro
    stagiaire developpement vba
    Inscrit en
    Mai 2012
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : stagiaire developpement vba
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 456
    Points : 658
    Points
    658
    Billets dans le blog
    17
    Par défaut erreur : no matching function
    bonjour ,

    Je suis nouveau , je commence le C++ depuis une semaine et j ai créé une classe compte en banque , pour m'entrainer a la syntaxe en objet et j ai une erreur "no matching function for call to CompteBancaire::dépôt() " et aussi pour la méthode retrait .

    D'apres ce que j ai pu lire c'est qu il ne trouve pas ma fonction pourtant j ai bien inclu tt ce qu il falais et mon fichier h et cpp semble correct je ne voi pas ce qui peut clocher .

    Je m en refere a vous pour me permettre d'avancer
    Images attachées Images attachées    
    Allez le RC LEns

  2. #2
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 145
    Points
    23 145
    Par défaut
    Bonjour,

    Ne pourrais-tu pas plutôt copier-coller ton code dans des balises CODE /CODE ?

  3. #3
    Membre éclairé
    Avatar de tamtam64
    Homme Profil pro
    stagiaire developpement vba
    Inscrit en
    Mai 2012
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : stagiaire developpement vba
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 456
    Points : 658
    Points
    658
    Billets dans le blog
    17
    Par défaut d'accord
    fichier 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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    #include <iostream>
    #include "test1.h"
    using namespace std;
     
    int main()
    {
     
        int choix(3),montant(0);
        CompteBancaire lomonaco;//si pas de paramettre pas de parentheses
        cout<<"rentre ton choix, 1: depot, 2: retrait, 3:consultation"<<endl;
        cin >> choix;//le choix que l'utilisateur fait
     
        if (choix == 1)
        {
            cout<<"entrer le montant"<<endl;
            cin >> montant;
            lomonaco.depot(montant);
        }
     
        else
        {
            if (choix == 2 )
            {
                cout<<"entrer le montant"<<endl;
                cin >> montant;
                lomonaco.retrait(montant);
            }
            else
            {
                if (choix == 3)
                {
                    lomonaco.consultation();
                }
                else
                {
                    cout<<"faite un choix correct"<<endl;
                }
            }
        }
     
        return 0;
    }
    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
    #include "test1.h"
    #include <string>
    #include <iostream>
     
    CompteBancaire::CompteBancaire(): int m_solde(10),double m_livretA(5),int m_retrait(0),int m_depot(0);
    {
        // voila rien du tt
    }
     
    void CompteBancaire::depot(int montant)
    {
        m_depot = montant;
        m_solde+= m_depot;
    }
     
    void CompteBancaire::retrait(int montant)
    {
     
        if (montant<=m_solde) //si on a la somme
        {
            m_retrait=montant;
            m_solde-=m_retrait;
        }
        else// si on n' a pas la somme
        {
            std::cout<<"vous ne dispozez pas de cette somme"<<endl;
            std::cout<<"vous pouvez retirer jusqu'a  : "<<m_solde;
     
        }
    }
    void CompteBancaire::consultation()
    {
        std::cout<<"vous disposez de  : "<<m_solde<<endl;
    }
    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
    #ifndef TEST_H_INCLUDED
    #define TEST_H_INCLUDED
    #include <string>
     
    class CompteBancaire
    {
    private:// on ne declare aucune valaur d'initialisation dans le h
        double m_solde;//offert par la banque pour l'ouverture;
        double m_livretA;
        int m_retrait;
        int m_depot;
        int m_choix;
     
    public:
        void depot(int montant);
        void retrait(int montant);
        void consultation();
     
     
    };
     
    #endif // TEST_H_INCLUDED
    voila merci encore
    Allez le RC LEns

  4. #4
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 145
    Points
    23 145
    Par défaut
    Pourrais-tu tout nettoyer et tout recompiller et nous copier l'intégralité des erreurs/warning ?

  5. #5
    Membre éclairé
    Avatar de tamtam64
    Homme Profil pro
    stagiaire developpement vba
    Inscrit en
    Mai 2012
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : stagiaire developpement vba
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 456
    Points : 658
    Points
    658
    Billets dans le blog
    17
    Par défaut
    en fait j essaye des modifications mais j ai perpetuellement des erreurs
    comme je donne la main a l'utilisateur , il fait un choix je ne sais pas si le choix je dois le mettre dans une methode ou hors de la methode .

    J'en profite pour poser une question :

    J'ai fait de l'objet en python , on pouvais appeler une methode dans une autre methode avec self.methode . En c++ je ne sais pas si c'est possible d'appeller par exemple dans la methode retirer , la methode test qui s'occuperait de verifier a l'aide d'un test si on peut retirer ou pas .
    Au lieu de faire une simple fonction retirer , je la decomposerais en deux methode , cette méthode test pourrait par ailleurs etre reutiliser plus tard par exemple . Mais en c++ je sais pas si on peut le faire .

    Merci bcp
    Images attachées Images attachées  
    Allez le RC LEns

  6. #6
    Membre éclairé
    Avatar de tamtam64
    Homme Profil pro
    stagiaire developpement vba
    Inscrit en
    Mai 2012
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : stagiaire developpement vba
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 456
    Points : 658
    Points
    658
    Billets dans le blog
    17
    Par défaut trouvé :)
    j'ai trouvé mon erreur c'etait de la syntaxe au niveau du fichier h .

    j'avait oublié de declarer la classe apres public .

    mais si quelqun peut repondre a mes questions concernant l'utilisation d'une methode dans une autre . ca serait super sympa merci encore
    Allez le RC LEns

  7. #7
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 145
    Points
    23 145
    Par défaut
    Tu as trois choix :

    this->mamethode() qui appellera la méthode de ton instance (ie celle de la classe fille).

    mamethode() qui appellera la méthode de ta classe actuelle (ie celle de la classe mère si méthode non-virtuelle)


    MaClasse::mamethode() qui appellera la méthode de MaClasse.

  8. #8
    Membre éclairé
    Avatar de tamtam64
    Homme Profil pro
    stagiaire developpement vba
    Inscrit en
    Mai 2012
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : stagiaire developpement vba
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 456
    Points : 658
    Points
    658
    Billets dans le blog
    17
    Par défaut je te remercie
    je te remercie , je vais essayer ca

    super ce site
    Allez le RC LEns

Discussions similaires

  1. Réponses: 7
    Dernier message: 14/03/2014, 21h50
  2. Réponses: 2
    Dernier message: 05/08/2009, 16h08
  3. no matching function for call
    Par pimousse280187 dans le forum Linux
    Réponses: 1
    Dernier message: 06/06/2009, 21h08
  4. Erreur sur une function
    Par Trebor_ dans le forum Langage
    Réponses: 3
    Dernier message: 10/03/2008, 13h21
  5. Réponses: 1
    Dernier message: 12/11/2007, 16h43

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