🎉 Celebrating 25 Years of GameDev.net! 🎉
Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!
Function overloading issue.
In my C++ class i have methods which are overloaded. In angel script i tried to bind those method but it keeps on telling me that it cannot differentiate which one of the overloaded method to use, event though i am passing the proper parameters to it.
Here is an example of what i am doing
This is my C++ class.
int GetTileAnimationFrame(int index);
int GetTileAnimationFrame(int x,int y);
AngelScript.
r = engine->RegisterObjectMethod("TileImage","int GetTileFrame(int x,int y)",asMETHOD(Emotion2D::CTileImage,GetTileAnimationFrame),asCALL_THISCALL);assert(r>=0);
This is the error i am getting.
cannot convert from 'overloaded-function' to 'void (__thiscall Emotion2D::CTileImage::* )(void)'
For overloaded functions you need to use the asMETHODPR macro, which let's you inform the parameters and return type of the method. Otherwise C++ won't know which function you want to take the address of.
or you should be able to cast the method pointer (this what you do with boost.python):
(int (Emotion2D::CTileImage::*)(int,int))&GetTileAnimationFrame
(int (Emotion2D::CTileImage::*)(int,int))&GetTileAnimationFrame
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement