C++ LuaBridge没有正确创建构造函数
我使用LuaBridge将一些类和函数移植到Lua。我目前正在调试,我总是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
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)。
beginClassAFAIK是:新的Lua的构造函数-“类”。初始化或Lua脚本中是否有错误?我必须使用.operator进行初始化,并且只注册一个构造函数。LuaBridge只支持一个构造函数。这并不能阻止您使用多个命名的静态构造函数,例如:如Nicol Bolas所建议的:new。“AFAIK是:新的Lua的构造函数-”类“。询问LuaBridge文档。