gpt4 book ai didi

c++ - SWIG Lua 和传递数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:20:23 25 4
gpt4 key购买 nike

我目前有以下lua代码:

    g = engine.CGeometry()

vertexes = {}

vertexes[1] = 0
vertexes[2] = 0
vertexes[3] = 0

vertexes[4] = 0
vertexes[5] = -1
vertexes[6] = 0

vertexes[7] = -1
vertexes[8] = 0
vertexes[9] = 0

print "adding vertexes"
g:SetVertexes(vertexes)

其中 g:SetVertexes() 在 C++ 中的实现方式为:

void CGeometry::SetVertexes(double* vertexes){
this->vertexes = vertexes;
}

导致此错误:

adding vertexes
PANIC: unprotected error in call to Lua API (Error in SetVertexes (arg 2), expected 'double *' got 'table')
Press any key to continue . . .

有什么想法吗?

最佳答案

尝试写:

void CGeometry::SetVertexes(double vertexes[]);

在接口(interface)定义中。从文档来看,SWIG 区分了指针和数组。

关于c++ - SWIG Lua 和传递数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/557523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com