| 44 | } |
| 45 | |
| 46 | static void TestCppFunction(LuaCpp::State &lua) { |
| 47 | // Register function pointer to Lua |
| 48 | lua["sum"].SetFunc(::sum); |
| 49 | lua("ret = sum(1, 2)"); |
| 50 | assert(lua["ret"] == 3); |
| 51 | |
| 52 | // Register lambda to Lua |
| 53 | lua["sub"].SetFunc([](int a, int b) { |
| 54 | return a - b; |
| 55 | }); |
| 56 | lua("ret = sub(1, 2)"); |
| 57 | assert(lua["ret"] == -1); |
| 58 | } |
| 59 | |
| 60 | class Base { |
| 61 | public: |