Goto error

alphaone Messages postés 134 Date d'inscription vendredi 2 mai 2003 Statut Membre Dernière intervention 14 novembre 2009 - 2 déc. 2004 à 15:23
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 - 2 déc. 2004 à 16:42
le probléme sait que je fais un goto à partir d'une function suitivé avant un à prés et dans le main du prog. et il me dit que pour certain goto le lable est undefinided!
comment faire pour que le goto label fonctionne ou qu'il soit dans mon prog?

4 réponses

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
2 déc. 2004 à 15:55
on ne peut faire un goto uniquement vers un label situé dans la même fonction, on ne pas sauter d'une fonction à l'autre par un goto :

int main()
{
goto lbl;
}

void fct()
{
lbl:
}

=> non autorisé lbl n'est pas défini dans le main.
0
alphaone Messages postés 134 Date d'inscription vendredi 2 mai 2003 Statut Membre Dernière intervention 14 novembre 2009
2 déc. 2004 à 16:04
alors comment je fais car ça me sert à relancer mon application de n'importe ou. (au lieux de la fermé et de la relancer, d'ailleur comment faire?)
0
cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
2 déc. 2004 à 16:40
Tu créer une fonction qui relance ton appli et tu y fais appel.

@+
Arnotic,
Admin CS, MVP Visual C++
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
2 déc. 2004 à 16:42
Il te suffit d'appeler une fonction pour réaliser un bout de code répétitif au lieu de "sauter" n'importe où

pour relancer le prog tu peut rappeler la fonction main mais c'est pas très sain comme méthode...

la structure gal d'un prog :

int main()
{
int end=0;
do
{
switch(menu())
{
case 0 : end = action_0(); break;
case 1 : end = action_1(); break;
..
}while(!end);
return 0;
}

affichage d'un menu et récupération du choix
int menu()
{
printf(...)
...
}

// action 0
int action_0()
{
..
}

//action1
int action_1()
{
..
}

les fonctions d'action renvoient 0 pour continuer le prog, 1 pour le stopper
0
Rejoignez-nous