Bonjour comme certains le savent , j'apprend en ce moment le c++ ( livre sdz en pdf pour commencer ) et je suis sur la partie des fonctions sauf qu'il y a des trucs que je ne comprend pas trop
int main est une fonction on est d'accord ? alors pourquoi les autres fonctions ne fonctionnent elles pas comme les elle ?
je veux dire quand j'essaye de faire
int test ()
{
cout << "salut";
}
fail pardon
.. ça n'affiche rien ? je veux dire je suis le même exemple que la fonction main pourtant si quelqu'un peux m'expliquer ( me réxpliquer du moins )
ce serait vraiment gentil merci d'avance !
main n'est pas une fonction comme les autres.
Par convention, la fonction nommée "main" avec un prototype particulier est le point d'entrée du programme.
Salut,
Main est une fonction comme les autres, effectivement, mais c'est la "fonction d'entrée", celle qui démarre le programme généré par le compilateur. C'est une convention, faut pas chercher plus loin ; la plupart des langages compilés suivent ce principe.
Si tu fais un programme sans main, c'est que tu as définis des structures et fonctions que tu ne peux pas utiliser (puisque le programme ne va jamais trouver le point d'entrée 'main'). Rien ne se passe.
La seule différence avec les autres fonctions, c'est que certains compilateurs n'acceptent pas certains types de retour avec 'main'. Un 'void main() { ... }', en plus d'être généralement une mauvaise idée, pourra être rejeté par certains compilateurs.
Petit détail d'ailleurs sur les types de retours, utilisés incorrectement dans ton exemple : ta fonction 'test' ne renvoie strictement rien (elle n'a que des effets de bords : elle affiche quelque chose à l'écran, mais ne _renvoie_ rien), alors que tu signales qu'elle renvoie un entier (int). C'est une erreur. Si elle ne renvoie rien, on la préfixe de 'void', par exemple, sinon du véritable type qu'elle renvoie.
"main n'est pas une fonction comme les autres. "
"Main est une fonction comme les autres"
Ah je me disais bien mais si je veux genre qu'une fonction affiche juste un message je dois m'y prendre comment ?
Désolé si mes questions paraissent débile mais bon comme je vous l'ai dit je débute.
En tout cas merci beaucoup pour votre aide !
Suivant l'état de ton programme, ça peut être simplement le main qui affiche ton message, entre autres choses, ou une fonction à part, par exemple 'afficherMessage(str)', que tu appelles à l'intérieur du main.
Si ta fonction n'a que des effets de bord, une valeur de retour de 'void' est envisageable. Simplement, suivant les cas, il peut être utile de profiter de cette 'absence' de valeur de retour pour renvoyer une valeur intéressante, qui permettra à la fonction d'être utilisée dans des rvalues ou des structures de contrôle : un booléen indiquant la réussite de l'opération, un entier représentant le nombre d'éléments affectés, ou l'objet lui-même pour les opérations chaînées, par exemple.
Ah oui je vois ! En gros les fonctions pour le moment je n'en ai pas trop l'utilité vu que je fais que des programmes de test petit mais j'ai compris ! Merci enormement pour l'aide je vais relire plusieurs fois la partie et les réponses pour être sur de bien les maitriser !
Ah mais je viens de comprendre encore plus ! je suis idiot !
enfaite moi j'essayer de remplacer le rôle de la fonction main d'afficher bonjour à l'écran comme ça sauf que je dois appeler la fonction dans la fonction main ! merci énormément pour votre aide j'avais à moitié compris mais là j'ai eu comme un dé clique. :hap;
c'est ton premier language de programmation l'auteur ?
Perso j'ai appris le PHP sur le sdz et maintenant je trouve vraiment facile d'apprendre d'autre language de programmation, vu que je connais les conceptes de base, il me reste plus qua apprendre la syntaxe du c++
En tout cas l'auteur j'ai une question, tes hapiste ?
Oui c'est mon premier on peux dire que je commence fort mais bon.
Non , j'utilise tout les smileys quand j'en ai envie.
rangerprice Voir le profil de rangerprice
Posté le 28 juillet 2014 à 19:22:47 Avertir un administrateur
Perso j'ai appris le PHP sur le sdz et maintenant je trouve vraiment facile d'apprendre d'autre language de programmation, vu que je connais les conceptes de base, il me reste plus qua apprendre la syntaxe du c++
Le C++ n'est pas aussi simple.
Ça c'est vrais mais bon moi c'est mon premier normal que je galére aussi.
En tout cas j'apprécie quand même beaucoup.