0
我在cocos2dx中使用lua。 有一個模板功能,如:模板函數綁定lua
class ClassA
{
public:
template<class T1, class T2>
static ClassA* createClassA(T1 t1, T2 t2);
}
我怎麼能結合這個功能LUA?
在此先感謝,
我在cocos2dx中使用lua。 有一個模板功能,如:模板函數綁定lua
class ClassA
{
public:
template<class T1, class T2>
static ClassA* createClassA(T1 t1, T2 t2);
}
我怎麼能結合這個功能LUA?
在此先感謝,
您不能。你將不得不綁定單個靜態函數int createClassA(lua_State* L);
,它將檢查實際的Lua參數類型,並調用特定的模板方法。意味着必須在本地代碼中進行某種切換,並且所有可能的情況都應該在本地主機中實例化。
你的意思是沒有辦法將模板實現從cpp導出到lua? –
Lua沒有函數簽名的概念。這只是一個單一的價值。所以你需要爲不同的模板實例分別使用Lua函數,或者你必須通過選擇Lua參數來選擇確切的實例。無論哪種方式,這是你的責任(或你的c + +綁定庫/框架),Lua在這裏幫不了忙。 – Vlad
謝謝,「或者你必須通過檢查Lua參數來選擇確切的實例化」如果lua參數是一個用戶類型,是否有... –