【发布时间】:2018-12-11 11:31:03
【问题描述】:
我为我的函数创建了一个 SWIG 类型映射。
%typemap(in) (int width, int height, lua_State *L)
{
if (!lua_isnumber(L, -1) || !lua_isnumber(L, -2))
SWIG_exception(SWIG_RuntimeError, "argument mismatch: number expected");
$1 = lua_tonumber(L, -1);
$2 = lua_tonumber(L, -2);
$3 = L;
}
但如果我尝试在 Lua 中调用该函数,它不起作用。
我在 Lua 中这样调用这个函数。
createWindow(500,300)
我只想将 width, height 从 Lua 传递给这个函数。
如何修复类型映射以使其正常工作?
【问题讨论】:
-
实际上,对于采用原始类型的函数,您根本不需要类型映射。
-
@HenriMenke 谢谢。所以我不应该将
lua_State*传递给C++ 函数?如果我只想在特定函数中使用lua_State*而不是类型映射,我该怎么办?说,我有void createWindow(int width, int height) -
@HenriMenke 你能告诉我如何在不使用类型映射的情况下做到这一点吗?我是新手。请帮帮我。
-
在下面查看我的答案。