如何修复它

How can fix it?

本文关键字:何修复      更新时间:2023-10-16

Visual Studio 2013

Lua 5.3.0

如何修复这个错误?

static const luaL_reg scriptLib[] =
{
    {"Print",       LuaConsolePrint},
    {"WaitSec",     LuaWaitSec},
    {NULL, NULL}
};
Error   3   error C2146: syntax error : missing ';' before identifier 'scriptLib'
Error   5   error C2440: 'initializing' : cannot convert from 'initializer-list' to 'int'   
Error   2   error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
Error   4   error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

使用luaL_Reg而不是luaL_reg。(注意案例变化。)

在旧版本的Lua(直到5.0)中,名称为luaL_reg。它已经是luaL_Reg好几年了(自2006年发布的5.1版本以来;luaL_reg在5.1版本中保持兼容性,但在5.2版本中删除)。