我在C++中整合了Lua,現在我有這個表作爲'類',而對於某些函數,它需要一個'self'參數,實際上它是表。該Lua代碼:C++&Lua,推Lua表作爲參數
a = {
numb = 5,
create = function(a)
print(a);
end,
increment = function(self)
--self.numb = 6;
print(self.numb);
end,
decrement = function(self,i)
self.numb = self.numb-i;
print(self.numb);
end
};
b = a;
以及C++位調用的函數(我已經得到了Lua中使用C運行++)
luaL_openlibs(L);
luaL_dofile (L,"main.lua");
lua_getglobal(L, "a");
lua_getfield(L, -1, "increment");
string arg = "a";
lua_pushliteral(L,"a");
lua_pcall(L ,1,0,0);
printf(" \nI am done with Lua in C++.\n");
lua_close(L);
所以,我怎麼能傳遞self參數,作爲表,進入功能增量?
任何幫助表示讚賞
你問的如何在C++中創建一個lua表並將它傳遞給函數? http://stackoverflow.com/questions/453769/how-do-i-create-a-lua-table-in-c-and-pass-it-to-a-lua-function –
這是Lua,而不是LUA或lua ... – 0xC0000022L
不,我想從我的腳本中傳遞一個Lua表,作爲lua函數中的一個參數,我想調用一個C++函數。所以實際上它是一種指向表本身的指針 – dirkwillem