LuaJIT FFI cdef 看不懂'class'?

LuaJIT FFI cdef doesn't understand 'class'?

class Myuser * MyClient_GetMyUser(AUser aUser);

这是试图用 ffi.cdef 声明该函数的错误:

Error: dllImport.lua:861: declaration specifier expected near 'class' at line 20

这怎么可能?如果必须在 cdef 中声明 'class',我将如何声明?

class 是 C++ 关键字。它在 C 中不存在。LuaJIT 需要 C 代码,而不是 FFI 块中的 C++ 代码。

至于如何解决这个问题,这取决于您在做什么。要么将其设为 C struct,要么找到其他访问方式。