2010-09-09 31 views
0

Par exemple, j'ai:Pouvons-nous appeler une fonction dans une routine où le type de données de la fonction est invalide?

void(temperature, pressure,time) 
{ 
    int i; 
    double results[10]; 

    for (i = 0 ; i <= 9 ; i++) 
    { 
     fx(temperature, pressure, time); 
     results[i]=fx[i]; 
    } 
} 

(P/S: ci-dessus est la version simplifiée de mon vrai problème) fx par lui-même est bien sûr une autre ste de codes avec des équations pour les calculs qui donneront des résultats fx [i]. Je me demandais juste si je pouvais appeler une autre fonction comme ça dans une fonction 'vide'. Juste une question curieuse, merci!

+0

Pourquoi pas? Quel langage de programmation utilisez-vous? – kennytm

+0

Le fragment de code indiqué n'a pas de nom de fonction (sauf si vous utilisez un compilateur pré-standard où 'void' n'est pas un mot-clé); les paramètres doivent être de style K & R avec le type par défaut 'int' (vous devez spécifier leur type). Vous avez un appel à une fonction 'fx'; vous ne pouvez pas également avoir un tableau appelé 'fx'. Vous ne dites pas à la fonction 'fx' où stocker le résultat, donc il n'est pas clair qu'il puisse savoir où stocker le résultat. –

Répondre

0

Oui, vous pouvez, à condition que vous donniez un nom à la fonction externe. (Ceci est C, ou similaire, non?)

+0

oui c'est C, désolé je oublie toujours de mentionner la langue .. d'accord merci! – esther

0

Oui, vous pouvez, et je suis vraiment curieux de savoir pourquoi vous avez cette question dans votre esprit, car je ne peux pas penser à une raison quelconque.

+0

haha ​​je ne sais pas, qui sait il ya des règles que je ne suis pas au courant, juste curieux: D de toute façon mon code fonctionne maintenant donc c'est bon! – esther