プログラムを実行するたびに、コンソールに何も出力されません。これは、クラスを使用せず、すべてを main() で実行する場合にうまく機能します。
クラスに置いた瞬間、問題が発生し始めます。私は何を間違っていますか?
using namespace luabridge;
myClass::myClass()
{
lua_State* L = luaL_newstate();
luaL_openlibs(L);
getGlobalNamespace(L).beginClass<myClass>("myClass").addFunction("printMessage", &myClass::printMessage).endClass();
luaL_dofile(L, "test.lua");
lua_pcall(L, 0, 0, 0);
}
void myClass::printMessage(const std::string& s)
{
std::cout << s << std::endl;
}
私のluaスクリプト「test.lua」
私はもう試した
c = myClass()
c:printMessage("You can call C++ functions from Lua!")
と
myClass:printMessage("You can call C++ functions from Lua!")
と
printMessage("You can call C++ functions from Lua!")