Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ LuaBridge没有正确创建构造函数_C++_Lua_Luabridge - Fatal编程技术网

C++ LuaBridge没有正确创建构造函数

C++ LuaBridge没有正确创建构造函数,c++,lua,luabridge,C++,Lua,Luabridge,我使用LuaBridge将一些类和函数移植到Lua。我目前正在调试,我总是 main.lua:1: attempt to call method 'new' (a nil value) 这是main.lua: v = TexVector:new( 1, 2 ) v.X = 0 v.Y = 0 print( v.X, v.Y ) -- print and explicit binded functions work 这是TexVector的初始化代码: luabridge::getGlobal

我使用LuaBridge将一些类和函数移植到Lua。我目前正在调试,我总是

main.lua:1: attempt to call method 'new' (a nil value)
这是main.lua:

v = TexVector:new( 1, 2 )
v.X = 0
v.Y = 0
print( v.X, v.Y ) -- print and explicit binded functions work
这是TexVector的初始化代码:

luabridge::getGlobalNamespace( L ).
    beginClass< Cheap::Math::TexVector >( "TexVector" ).
        addConstructor< void (*) ( ) >( ).
        addConstructor< void (*) ( const double& , const double& ) >( ).
        addData( "X", &Cheap::Math::TexVector::X ).
        addData( "Y", &Cheap::Math::TexVector::Y ).
        addFunction( "Add", &Cheap::Math::TexVector::Add ).
        addFunction( "Sub", &Cheap::Math::TexVector::Sub ).
        addFunction( "Mul", &Cheap::Math::TexVector::Mul ).
        addFunction( "Div", &Cheap::Math::TexVector::Div ).
        addFunction( "Eq", &Cheap::Math::TexVector::Eq ).
        addFunction( "Apply", &Cheap::Math::TexVector::Apply ).
    endClass( );
luabridge::getGlobalNamespace(L)。 beginClass(“TexVector”)。 addConstructor)。 addConstructor()。 addData(“X”、&廉价::数学::TexVector::X)。 addData(“Y”、&Cheap::Math::TexVector::Y)。 addFunction(“Add”、&Cheap::Math::TexVector::Add)。 addFunction(“Sub”,&廉价::数学::TexVector::Sub)。 addFunction(“Mul”,&Cheap::Math::TexVector::Mul)。 addFunction(“Div”和&Cheap::Math::TexVector::Div)。 addFunction(“Eq”、&廉价::数学::TexVector::Eq)。 addFunction(“Apply”、&Cheap::Math::TexVector::Apply)。 endClass();
AFAIK是:新的Lua的构造函数-“类”。初始化或Lua脚本中是否有错误?

我必须使用.operator进行初始化,并且只注册一个构造函数。

LuaBridge只支持一个构造函数。这并不能阻止您使用多个命名的静态构造函数,例如:如Nicol Bolas所建议的:new。

“AFAIK是:新的Lua的构造函数-”类“。询问LuaBridge文档。