Chen.Gaowei Posted March 4, 2013 Posted March 4, 2013 Hi, :rolleyes: I have two overloaded functions defined as below: void sendCmd(const SharedData &buf); void sendCmd(const Unigine::Ptr<Unigine::Buffer>& ptr); and in the interpreter I defined two script functions: Interpreter::addExternFunction("network.sendCmd", MakeExternObjectFunction(net_sync,(int (Net_Sync::*)(const SharedData&))&Net_Sync::sendCmd)); Interpreter::addExternFunction("network.sendCmd", MakeExternObjectFunction(net_sync,(int (Net_Sync::*)(const Unigine::Ptr<Unigine::Buffer>&))&Net_Sync::sendCmd)); But the grammer does not work. What is the right usage of declaring two overloaded function with MakeExternObjectFunction call? Thanks!
ivan.cuevas Posted March 4, 2013 Posted March 4, 2013 An idea: - Functions static void sendCmd(const SharedData &buf) {} typedef Unigine::Ptr<Unigine::Buffer> BuffPtr; static void sendCmd(const BuffPtr& ptr) {} - Export Interpreter::addExternFunction("network.sendCmd",MakeExternFunction((void(*)(const SharedData&)) &Net_Sync::sendCmd)); Interpreter::addExternFunction("network.sendCmd",MakeExternFunction((void(*)(const BuffPtr&)) &Net_Sync::sendCmd));
Chen.Gaowei Posted March 5, 2013 Author Posted March 5, 2013 An idea: - Functions static void sendCmd(const SharedData &buf) {} typedef Unigine::Ptr<Unigine::Buffer> BuffPtr; static void sendCmd(const BuffPtr& ptr) {} - Export Interpreter::addExternFunction("network.sendCmd",MakeExternFunction((void(*)(const SharedData&)) &Net_Sync::sendCmd)); Interpreter::addExternFunction("network.sendCmd",MakeExternFunction((void(*)(const BuffPtr&)) &Net_Sync::sendCmd)); Thank you!
Recommended Posts