🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Register a member function in a class

Started by
-1 comments, last by CodeZ 21 years, 5 months ago
Hi! I have recently started to use Lua and I wonder if it is possible to register a member function in a class to Lua (or mayby a whole Class?) ? It works if I do like this:
      

class TestClass
{
public:
	TestClass();
	~TestClass();
	static int Test(lua_State* lua) { printf("hello from Class!"); return 0; }
};

lua_register( g_pkScript, "func", TestClass::Test );

  
But I don´t want to have static functions in my class. Why doesn´t this work?
  
     
static TestClass g_kApp;

class TestClass
{
public:
	TestClass();
	~TestClass();
	int Test(lua_State* lua) { printf("hello from Class!"); return 0; }
};

lua_register( g_pkScript, "func", g_kApp.Test );

  
I get this error: Compiling... test.cpp D:\Programming\MyCode\LuaTest1\test.cpp(41) : error C2664: 'lua_pushcclosure' : cannot convert parameter 2 from 'int (struct lua_State *)' to 'int (__cdecl *)(struct lua_State *)' None of the functions with this name in scope match the target type Error executing cl.exe. test.obj - 1 error(s), 0 warning(s) Thanks! [edited by - CodeZ on January 18, 2003 3:12:33 AM] [edited by - CodeZ on January 18, 2003 3:13:18 AM]

This topic is closed to new replies.

Advertisement