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 :

Surcharge des fonctions


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    180
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 180
    Par défaut Surcharge des fonctions
    Bonjour ,
    je viens de demarrer dans le C++ , voila un code sur la surcharge des fonctions et je n'arrive pas a trouver l'erreur " sachant que ca fait 1 semaine que j'ai commencé le C++"

    MERCI

    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
     
    #include <iostream>
    #include <conio.h>
     
    void test(int n=0,float x=2.5)
    {
         cout<<"Fonction N°1 : ";
         cout<<"n= "<<n<<" x = "<<x<<"\n";
    }
     
     
    void test(float x=4.1,int n=2)
    {
      cout<<"Fonction N°2 : ";
      cout<<"n= "<<n<<" x = "<<x<<"\n";
    }
    void main()
    {
         int i=5; float r=3.2;
         test(i,r); //fonction N1
         test(r,i); //fonction N2
         test(i);   //fonction N1
         test(r);   //fonction N2
     
         }

  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
    Et en quoi il y a-t-il une erreur ?

    Il y a juste std::cout qui n'est pas qualifié, c'est ça ton problème ?

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    180
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 180
    Par défaut
    j'ai ajouté au code
    pour palier a ce problème , mais ça persiste

    18 C:\Users\Nas\Desktop\Projets\Exo 1.5\main.cpp `main' must return `int'
    C:\Users\Nas\Desktop\Projets\Exo 1.5\Makefile.win [Build Error] [main.o] Error 1

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par nassu Voir le message
    18 C:\Users\Nas\Desktop\Projets\Exo 1.5\main.cpp `main' must return `int'
    Le compilateur te donne la réponse... La fonction main() doit retourner un entier, donc...

    1- tu la renommes en int main()
    2- tu mets un return 0; à la fin
    3- tout rentre dans l'ordre...

    Francois

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    180
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 180
    Par défaut
    cool , merci , donc le probleme été a la déclaration

    peux tu m'expliquer la différence en VOID MAIN et INT MAIN ?,
    " je suis un bleu en C++"

    Merci

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 14
    Par défaut
    int f() indique que la fonction f() renvoit un int. C'est pour ça qu'il faut rajouter un return (par exemple return 0; veut dire qu'on renvoit l'entier zéro)
    void f() veut dire que la fonction f() ne renvoit rien, donc pas la peine de faire return
    Cependant la fonction main est un peu différente, car c'est le point d'entrée du programme.
    Le standard exige qu'un programme C++ renvoit une valeur (par exemple pour savoir si le déroulement du programme s'est bien passé), donc c'est pour ça qu'il faut que la fonction main() renvoit un int.
    C'est pourquoi la fonction void main() n'est pas légal en C++.
    Par convention la valeur zéro indique que le déroulement du programme s'est bien passé.

  7. #7
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Citation Envoyé par nassu Voir le message
    cool , merci , donc le probleme été a la déclaration

    peux tu m'expliquer la différence en VOID MAIN et INT MAIN ?,
    " je suis un bleu en C++"

    Merci
    Bonjour,

    Dans ce cas, je t'invites à prendre connaissance de la liste des cours C++ que l'on a sur Developpez. Tu pourras ainsi choisir celui qui te convient le mieux

    http://cpp.developpez.com/cours/

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

Discussions similaires

  1. Ambiguïté sur le surcharge des fonctions
    Par DLOYAS dans le forum C++
    Réponses: 1
    Dernier message: 08/01/2015, 09h35
  2. Surcharge des fonctions d'une classe (wrapping)
    Par RapotOR dans le forum C++
    Réponses: 3
    Dernier message: 23/10/2013, 17h43
  3. Surcharge des fonctions malloc et free
    Par Aspic dans le forum C
    Réponses: 7
    Dernier message: 22/04/2013, 13h52
  4. [MFC] Surcharger des fonctions de CView
    Par Philippe320 dans le forum MFC
    Réponses: 2
    Dernier message: 22/11/2005, 21h24
  5. Implémentation des fonctions mathématiques
    Par mat.M dans le forum Mathématiques
    Réponses: 9
    Dernier message: 17/06/2002, 16h19

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