LuaJIT FFI cdef不理解'课堂'?

the*_*man -2 c c++ lua ffi luajit

class Myuser * MyClient_GetMyUser(AUser aUser);
Run Code Online (Sandbox Code Playgroud)

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

Error: dllImport.lua:861: declaration specifier expected near 'class' at line 20
Run Code Online (Sandbox Code Playgroud)

这怎么可能?如果我必须在cdef中这样做,我将如何宣布'课堂'?

Ale*_*lex 6

class是一个C++关键字.它不存在于C. LuaJIT期望C代码,而不是FFI块中的C++代码.

至于如何解决这个问题,这取决于你在做什么.您可以将其struct设为C ,或者您可以找到不同的方式来访问它.