lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Hello,

I've done a very simple binding of two c++ classes to lua
with tolua++1.0.5 and get a error with a constructor which
not uses the new command:


--header file tv.h: struct A { A(){}; }; struct B { B(){}; };


--pkg file tv.pkg: $#include "tv.h" struct A { A(){}; }; struct B { B(){}; };


--main.cpp: extern "C" { #include "lualib.h" #include "lauxlib.h" } int main (void){ int tolua_tv_open (lua_State*); lua_State* L = lua_open(); luaopen_base(L); tolua_tv_open(L); lua_dofile(L,"tv.lua"); lua_close(L); return 0; }


--lua code tv.lua: v = B.new print("B.new done") v = A.new print("A.new done") v = B() print("B() done") v = A() print("A() done")


And this is the ouput of the program:

B.new done
A.new done
B() done
tv.lua:4: error in function 'new'.
     argument #1 is 'class A'; 'B' expected.


Is it my fault or is it a bug of tolua++?


Best regards, Peter