sevgolds Posté(e) le 11 avril 2006 Posté(e) le 11 avril 2006 Bonjour, J'ai une classe C++ contenant une méthode avec un paramètre de type double. void ajouterDistance(int type, double distance); Cette méthode est appelée dans mon fichier lua. J'ai donc ajouté la classe et la fonction dans le module Lua : lua_state L; module(L) [ class_<Entite >("Entite") .def(constructor< unsigned int, const std::string & >()) .def("ajouterDistance", &EntiteScenario::ajouterDistance ) ]; Dans mon fichier lua, j'ai : Entite A = Entite(1000,"Toto") A.ajouterDistance( 0, 123.2) J'ai un problème au lancement de mon binaire, car Lua s'attend à voir un entier et un réel mais il considère que la deuxième valeur que je lui ai passé (123.2) n'est pas un double : ***************** Terminated with exception: "no overload of 'Entite:ajouterDistance' matched the arguments<number, number> canditates are : 'Entite:ajouterDistance<number, custom [double] > ******************* Comment Faire pour que 123.2 soit accepté en tant que double dans mon lua???? Merci
sevgolds Posté(e) le 14 avril 2006 Auteur Posté(e) le 14 avril 2006 Désolé, ça dépasse mes compétences Mais faut-il faire; déclarer qq chose en particulier lorsque dans lua on fait appel à des méthode C++ avec des arguments qui peuvent être de type simple ou des objets? Merci
sevgolds Posté(e) le 18 avril 2006 Auteur Posté(e) le 18 avril 2006 Désolé, ça dépasse mes compétences J'ai trouvé le problème : je faisais un mauvais appel à la méthode depuis Lua : je faisais à la méthode à l'aide d'un point au lieu des 2 points myInstance:myFunction(param) Merci
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant