 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Matthieu Moy Guest
|
Posted: Thu Feb 12, 2004 4:13 pm Post subject: Sous-fonctions en C et C++ |
|
|
Bonjour,
Je viens d'apprendre qu'il était possible de faire des sous-fonctions
en C :-)
Le code suivant compile en C avec GCC en tous cas :
#include <stdio.h>
void f() {
int a = 2;
int szf(int x) {
printf("sf%d %dn",a,x);
}
szf(3);
}
int main() {
f();
return(0);
}
Mais ce qui me surprends, c'est que le même code ne compile pas en
C++.
Deux questions :
Est-ce que la version C est standard, ou bien est-ce une extension de
GCC ?
Est-ce que ça a été supprimé pour le C++ ?
Merci,
--
Matthieu
|
|
| Back to top |
|
 |
Jean-Marc Bourguet Guest
|
|
| Back to top |
|
 |
magesh Guest
|
Posted: Wed Feb 18, 2004 7:29 pm Post subject: Re: Sous-fonctions en C et C++ |
|
|
Jean-Marc Bourguet wrote:
| Quote: | Matthieu Moy <MatthieuNOSPAM.Moy (AT) imag (DOT) fr.invalid> writes:
Est-ce que la version C est standard, ou bien est-ce une extension de
GCC ?
Extension de gcc.
Est-ce que ça a été supprimé pour le C++ ?
Je suppose. A moins qu'il y ait un flag qqch pour l'autoriser.
Probablement pour le flag je ne sais pas, mais quel interet en C++, |
puisque le meme resultat peut etre obtenue d'une facon elegante en
utilisant les namespaces !!
magesh
|
|
| Back to top |
|
 |
Fabien LE LEZ Guest
|
Posted: Thu Feb 19, 2004 1:02 am Post subject: Re: Sous-fonctions en C et C++ |
|
|
On Wed, 18 Feb 2004 20:29:12 +0100, magesh <magashi (AT) club-internet (DOT) fr>
wrote:
| Quote: | Probablement pour le flag je ne sais pas, mais quel interet en C++,
puisque le meme resultat peut etre obtenue d'une facon elegante en
utilisant les namespaces !!
|
Ce n'est pas la même chose : avec des fonctions imbriquées tu peux
avoir des variables locales (non statiques).
Plus d'infos ici : <http://www.gotw.ca/gotw/058.htm>
--
;-)
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|