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.
AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game
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
"I am a donut! Ask not how many tris/batch, but rather how many batches/frame!" -- Matthias Wloka & Richard Huddy, (GDC, DirectX 9 Performance)
http://www.silvermace.com/ -- My personal website
http://www.silvermace.com/ -- My personal website
Which is exactly what the asMETHODPR macro does behind the scenes. :)
AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement