Ambroise
Si j'ai bien compris, vous voulez appeler la fonction à partir de la fonction b mais pas utiliser la méthode normale a() pour appeler. Correct?
Eh bien, vous pouvez appeler en utilisant un pointeur vers la fonction. Je n'ai pas accès à un compilateur ici mais le code ressemblerait à ceci :
static void a(char message);
void (*ptr2a)(char) = a;
vide statique b(void );
void main( )
{
for(int x = 0; x < 2; ++x)
{
switch(x)
{
case 0 : A((char)"Good Morningn");
cycle;
cas 1 : B();
cycle;
}
}
}
annuler un (message char)
{
printf("%s",message);
}
void b(void)
{
ptr2a((char)"et bonne nuit n");
}
Dave
Si vous devez appeler a() en dernier lieu dans le cas 2, vous pouvez d'abord coder votre instruction switch avec le cas 2, puis le cas 1 en dessous. Si vous évitiez ensuite d'appeler break à la fin du code Case 2, l'exécution se poursuivrait dans le code Case 1, appelant ainsi a(). Bien sûr, s'il y avait d'autres cas sous le cas 1, leur code serait également appelé à moins que vous ne mettiez une pause après le a() dans le cas 1. De plus, cela ne fonctionne pas si vous devez faire quelque chose dans le cas 2 après l'appel. une(). C'est aussi un style de codage incroyablement mauvais, mais si, pour certaines raisons, vous vouliez vraiment le faire, c'est peut-être ce dont vous avez besoin.
Kaya
Salut
Dans mon programme, l'erreur vient comme " Appel à la fonction non définie 'x' dans la fonction main(), quelle est cette erreur ? Veuillez m'expliquer.