Prototype de fonction C++
Résolu
jihane jihane
Messages postés
65
Date d'inscription
Statut
Membre
Dernière intervention
-
jihane jihane Messages postés 65 Date d'inscription Statut Membre Dernière intervention - 7 nov. 2011 à 17:06
jihane jihane Messages postés 65 Date d'inscription Statut Membre Dernière intervention - 7 nov. 2011 à 17:06
A voir également:
- Prototype de fonction C++
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction somme excel - Guide
- Fonction remplacer sur word - Guide
2 réponses
le nom de la fonction ce qu'elle retourne ainsi que le nombre et le type des arguments.
jihane jihane
Messages postés
65
Date d'inscription
Statut
Membre
Dernière intervention
Merci :)
Un prototype te permet de déclarer une fonction que tu implémente plus bas.
Imagine ceci :
Le problème du code ci-dessus (outre le fait qu'il ne veut rien dire et que c'est le bordel), est que la fonction a() appelle la fonction b() et inversement. Or, b() n'existe pas pour a() car il est déclaré au dessous. Et si on mets b() avant a(), c'est a() qui n'existera pas pour b().
Ainsi, tu peux régler ce problème avec un prototype :
Les 3 prototypes permettent de déclarer une fonction pour la rendre visible à a(), tout en implémentant leur contenu plus tard. Un prototype doit avoir la même signature que la fonction elle-même.
Voilà la principale utilité des prototype.
Imagine ceci :
int i = 3; void a() { if (i != 0) { b(); } c(); } void b() { i--; if (i > 0) { c(); } } void c() { printf("lol"); }
Le problème du code ci-dessus (outre le fait qu'il ne veut rien dire et que c'est le bordel), est que la fonction a() appelle la fonction b() et inversement. Or, b() n'existe pas pour a() car il est déclaré au dessous. Et si on mets b() avant a(), c'est a() qui n'existera pas pour b().
Ainsi, tu peux régler ce problème avec un prototype :
int i = 3; void a(); void b(); void c(); void a() { if (i != 0) { b(); } c(); } void b() { i--; if (i > 0) { c(); } } void c() { printf("lol"); }
Les 3 prototypes permettent de déclarer une fonction pour la rendre visible à a(), tout en implémentant leur contenu plus tard. Un prototype doit avoir la même signature que la fonction elle-même.
Voilà la principale utilité des prototype.