草庐IT

lua_call

全部标签

C++ 错误 : No Match for Call

我正在尝试用C++编译以下代码stringinitialDecision(){chardecisionReviewUpdate;cout>decisionReviewUpdate;//Processingcode}intmain(){stringinitialDecision;initialDecision=initialDecision();//ERROROCCURSHERE//Moreprocessingcodereturn0;}就在它说“此处发生错误”的地方,我在编译时收到以下错误:“错误:对'(std::string)()'的调用不匹配。我该如何解决这个问题?

c++ - 将成员函数添加到绑定(bind)到 Lua 的 C++ 类

我一直在研究如何将C++类绑定(bind)到Lua以便在游戏引擎中使用,我遇到了一个有趣的问题。我一直在关注这个网站上的教程:http://tinyurl.com/d8wdmea.在教程之后,我意识到他建议的以下代码:localbadguy=Monster.create();badguy.pounce=function(self,howhigh,bonus)self.jumpbonus=bonusor2;self:jump(howhigh);self:rawr();endbadguy:pounce(5,1);只会将突袭功能添加到怪物的特定实例。所以我将他建议的脚本更改为以下内容:fun

章鱼网络 Community Call #17|打造全新 Omnity 跨链协议

香港时间2024年1月8日12点,章鱼网络举行第17期CommunityCall。对于OctopusCommunity而言,2023年是一个分水岭。我们如期兑现我们的承诺,成功上线了包括$NEARRestaking和AdaptiveIBC在内的完整的Octopus2.0。自从我们在2023年4月公布这一计划以来,整个团队倾尽全力使这个蓝图变为现实。虽然面临着加密行业的低谷和挑战,但是我们始终坚持并满怀决心向前。同时,我们也想对社区中每一位为此做出持续支持和贡献的成员表示深深地感谢。展望即将到来的2024年,我们将致力于继续推进我们的使命——为构建区块链互联网做出我们的贡献。1、我们在12月成功

c++ - 为什么 g++ 声明某些 valarray<double> o 有 "no matching function for call cbegin(o)"?

请考虑以下代码:usingcustom_t=std::valarray;custom_to;unsignedacc=std::accumulate(std::cbegin(o),std::cend(o),0);g++-5说Nomatchingfunctionforcalltocbegin(custom_t&)如果我改用std::begin(o)和std::end(o),一切正常。这是编译器错误吗?代码使用VisualStudio2015编译。 最佳答案 这是一个libstdc++错误,我刚刚创建了https://gcc.gnu.or

C++/Lua FFI 将用户数据呈现为表格?

我在C++中有以下简单代码,其中Object是一个标准容器:staticintcreate_an_object(lua_State*L){autoobj=static_cast(lua_newuserdata(L,sizeof(Object*)));*obj=another_valid_obj;luaL_newmetatable(L,"object_metatable");lua_pushcfunction(L,object_metatable_function);lua_setfield(L,-2,"__index");lua_pop(L,1);return1;}staticinto

c++ - SWIG Lua 和传递数组

我目前有以下lua代码:g=engine.CGeometry()vertexes={}vertexes[1]=0vertexes[2]=0vertexes[3]=0vertexes[4]=0vertexes[5]=-1vertexes[6]=0vertexes[7]=-1vertexes[8]=0vertexes[9]=0print"addingvertexes"g:SetVertexes(vertexes)其中g:SetVertexes()在C++中的实现方式为:voidCGeometry::SetVertexes(double*vertexes){this->vertexes=ve

c++ - 如何在 LUA 中创建 C++ 兼容函数对象?

我正在考虑如何设计我的API,我计划在LUA中创建一个带有脚本层的C++应用程序。对于我设计中的几个关键点,我想让用户能够创建一个函数对象来表示他想在LUA中做什么,而不是将这个函数对象从LUA发送到C/C++。在伪代码中,在C++中我有一个classTclassT{...intnum1=0;floatnum2=0.0f;std::stringstr{"NONE"};...};我想像这样用LUA提供的functionobject操作T的实例voidapplyFunc(Tt,Ff){f(t);}问题是我在LUA中找不到任何创建函数对象的东西,例如C++11lambda或std::func

c++ - <eof> 附近的 lua 函数参数

我尝试在C++项目中使用lua。对于lua执行,我这样写:#include...luaEngine=luaL_newstate();luaL_openlibs(luaEngine);register_results(luaEngine);//Forregisterc++objectintheLUAscriptasmetatablelua_pushstring(luaEngine,resultsId.c_str());lua_setglobal(luaEngine,"resultsId");lua_pushboolean(luaEngine,needReloadModel);lua_se

c# - 从 Lua 5.1 移植到 5.2

我在将一些较旧的Lua5.1代码移植到Lua5.2时遇到了一些问题。我希望能够使用现有的Lua5.2dll/lib,因此任何移植都需要使用Lua5.2的现有API来完成。为了让它更复杂一些,我使用DllImport来P/Invoke一些LuaAPI调用。这意味着所提供的任何#define快捷方式都将不起作用。例如使用lua_pushglobaltable是不可能的。大多数更新是必需的,因为LUA_REGISTRYINDEX不再可访问。到目前为止,我有以下内容:1a)替换lua_pushstring(luaState,"tablename");lua_settable(luaState,

C++ 与 Lua 的协程交互

零、前言Lua语言不支持真正的多线程,即不支持共享内存的抢占式线程。这样的模式能减少一些多线程的问题。多线程的问题源于线程抢占和共享内存,而如果非抢占式线程或者不使用共享内存则能避免多线程问题,Lua同时支持这两种方案。从之前分享的《Lua协程》文章中知道:Lua语言的线程是协作式的,即协程,可以避免因不可预知的线程切换带来的问题。Lua状态间内存不共享,所以各个状态相互独立运行,可以并行操作。一、多线程从C-API的角度,可以把线程当作一个栈,每个栈保存着一个线程中挂起的函数调用信息,以及每个函数调用的参数和局部变量。也就是说,一个栈包括了一个线程得以继续运行所需的所有信息。因此,要达到多线