Bonjour,
Une petite question me taraude depuis un petit moment.
Quand on fait A a();, a est un A() et non un A.
Mais alors à quoi correspond le type A() ?
Bonjour,
Une petite question me taraude depuis un petit moment.
Quand on fait A a();, a est un A() et non un A.
Mais alors à quoi correspond le type A() ?
Quel A() ?
Quand on fait A a(); alors on déclare une fonction nommée a qui ne prend aucun argument et qui retourne un objet de type A.
Je suis bête, je n'avais pas pensé à ça
Par contre tu confond Type foo() et Type foo(void).
Dans le second cas, la fonction ne prend rien en paramètre.
Mais dans le premier, cas on ne sait pas ce que la fonction prend en paramètre.
Ceci est donc tout à fait possible :
Compile en C.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 void foo(); void foo(int i) { }
EDIT : J'ai rien dit, en C++ cela semble déclarer une fonction sans paramètre (contrairement en C), c'est assez marrant ça.
Ah oui en effet, je ne connaissais pas ça
Est-ce que ça ne fait pas partie des petites différences C/C++ ?
Edit : ok![]()
Partager