La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 23/11/2024 13:22:52


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Stan
Grand Chevalier
Inscrit le: 07 Avr 2005
Messages: 126
Répondre en citant
Posté le : 11/04/2005 02:58:25 Sujet du message : Prototype de fonction

Bonjour à vous amis callé en programmation.

J'ai un petit trou de mémoire au sujet des pré déclarations et de la possibilité de les utiliser sous nwn.

En fait voici mon problème


Je déclare une fonction 1 qui dans son éxécution apelle une fonction 2
Mais ma fonction 2 apelle aussi la fonction 1 dans son éxécution.

Résultat des courses, la premiere des deux que je déclare, il me met une erreur de compilation car j'apelle une fonction pas encore déclarée.

J'ai de vagues souvenirs d'une sorte de pré déclaration qui existe sur les langages de prog.
Quelque chose qui permet de dire :


La fonction 2 existe mais je la définie pas tout de suite

La fonction 1 existe et elle apelle la fonction 2

La fonction 2 je la définie seulement maintenant.


Mais manque de chance je tente à taton de trouver comment on fait cette bidouille mais impossible de remettre la main dessus.Serait-ce tout simplement impossible dans ce langage ?


Pour le cas perso qui me bloque les fonctions sont de ce type :

NWScript :
void fonction1(int De, object oCreature){
int Slot= machin;
//des instructions
fonction2(oCreature, Slot) }
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.



NWScript :
void fonction2(object oCreature, int Slot){
//des instructions
fonction1(5,oPC);
                                              }
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.



Si quelqu'un peut me dire comment prédéclarer la fonction2 pour réussir à compiler, je l'en remercierai grandement Smile

PS : elles ne s'apellent que dans certaines conditions, donc pas la peine de penser : mais ton affaire va tourner en boucle infinie Mad
Dernière édition par Stan le 11/04/2005 20:34:43; édité 1 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
kiky.le.magnifique
Homme très gay
Inscrit le: 19 Sep 2003
Messages: 907
Localisation: Camping de la nation martienne...
Répondre en citant
Posté le : 11/04/2005 16:19:12 Sujet du message :

NWScript :
void fonction2(object oCreature, int Slot);

void fonction1(int De, object oCreature){
int Slot= /*machin*/1;
//des instructions
fonction2(oCreature, Slot); }

void fonction2(object oCreature, int Slot){
//des instructions
object oPC = oCreature;
fonction1(5,oPC); }
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Surprised
_________________
http://perso.wanadoo.fr/kikitor | Deviant Art | www.VistaEntraide.com | CCLLSELFV! | D-lire_K | Viendez rêver au Pays des fées... | Ne taquinez pas l'admin!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
GottferDamnt
Grand Chevalier
Inscrit le: 17 Fév 2004
Messages: 144
Répondre en citant
Posté le : 11/04/2005 16:21:14 Sujet du message :

Je ne pense pas que ca soit possible... mais pourquoi ne pas utilisé une fonction de plus?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Stan
Grand Chevalier
Inscrit le: 07 Avr 2005
Messages: 126
Répondre en citant
Posté le : 11/04/2005 17:01:01 Sujet du message :


kiky.le.magnifique a écrit :
NWScript :
void fonction2(object oCreature, int Slot);
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
Ah Kiki je t'aime *regarde au dessus l'avatar de kiki* euh en fait je t'aime juste par amitié hein *longe le mur* Razz, j'avais oublié ce satané point virgule quand j'avais testé toutes les méthode pour faire des prédéclarations.

Merci beaucoup pour ton aide



Citation :
NWScript :
int Slot= /*machin*/1;
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
Ouep ça c'était juste car j'avais la flemme de recopier tout le script juste pour ça Laughing

Encore merci, c'est bien pratique ce genre de choses Very Happy
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Baldurien
L'homme qui chutait sur le macadam
Inscrit le: 12 Sep 2002
Messages: 14066
Localisation: Quadran Alpha
Répondre en citant
Posté le : 11/04/2005 19:50:42 Sujet du message :

Ce que tu appelles pré déclaration, ce sont en fait des prototypes de fonction. Ca n'a qu'un seul but : enregistrer ta fonction dans la table des symbôles, et arrêter de dire "fonction pas connu, je sais pas quoi faire, surtout qu'en sus je lis des paramètres".

D'usage, les prototypes doivent aller en haut de fichier (dans le NWScript) mais en C/équivalent, c'est plus dans un fichier d'entête (mais là, ...)
_________________
#nwnights-fr @ irc.darkmyst.org TitanQuest-FR
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Stan
Grand Chevalier
Inscrit le: 07 Avr 2005
Messages: 126
Répondre en citant
Posté le : 11/04/2005 20:35:39 Sujet du message :

Merci pour ce complément d'info ainsi que le vocabulaire exact.

J'ai changé le titre du topic pour qu'il soit accessible si quelqu'un a le même soucis.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Montrer les messages depuis :
Page 1 sur 1 ¤


Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Sauter vers:
FAQ | Rechercher | Liste des Membres | Groupes d'utilisateurs | S'enregistrer | Profil | Se connecter pour vérifier ses messages privés | Connexion
Powered by phpBB 2.* [m] © 2001, 2002 phpBB Group
Theme rewritten in beautiful XHTML code by Baldurien.
Thème "La Bibliothèque de Neverwinter" crée par Kruger
Traduction par : phpBB-fr.com
Page generated in 32.218ms