Chen.Gaowei Posted March 4, 2013 Share 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! Link to comment
ivan.cuevas Posted March 4, 2013 Share 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)); Link to comment
Chen.Gaowei Posted March 5, 2013 Author Share 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! Link to comment
Recommended Posts