61 votes

Différence entre vide principal et int principal?

La façon dont je déclare mes programmes C ++ importe-t-elle?

77voto

Alan Points 21367

La différence est l'une est la bonne manière de définir main, et l'autre ne l'est pas.

Et oui, il n'importe.

int main(int argc, char** argv)

ou

int main()

est la bonne définition de votre main par le C++ spec.

void main(int argc, char** argv)

n'est pas, et a été, autant que je me souvienne, une perversité qui est venu avec Microsoft compilateur C++.

http://www.parashift.com/c++-faq-lite/débutant.html#faq-29.3

29voto

vobject Points 1248

Bjarne Stroustrups l'a bien précisé:

"La définition void main() n'est pas et n'a jamais été C ++, ni même C."

http://www.stroustrup.com/bs_faq2.html#void-main

14voto

RedBlueThing Points 21332

Vous devriez utiliser int principal. Les normes C et C ++ spécifient que principal doit renvoyer une valeur.

9voto

Joe Points 17829

Pour C ++, seul int est autorisé. Pour C, C99 dit que seul int est autorisé. La norme antérieure permettait un retour nul.

En bref, toujours int.

8voto

Svante Points 24355

Le fait est que les programmes C (et C ++ sont les mêmes) doivent toujours (devraient?) Renvoyer une valeur de succès ou un code d'erreur, ils doivent donc être déclarés de cette façon.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X