我在C++中编写了一个函数并成功构建。p>
不过,如果我只是从C++中的另一个函数调用它,那么构建失败了。p>
double getlistvalue(boost::python::list l, int index)
{
if (index = -1)
return 0;
else
return boost::python::extract<double>(l[index]);
}
double xx(boost::python::list l, int index)
{
return getlistvalue(l, index);
}
上面的代码,没有第二个函数,它构建
以下是错误信息: error info
请分享如何解决这个问题的想法。非常感谢
您正在按值传递列表,这需要一个复制构造函数。错误消息告诉您尚未为列表提供复制构造函数。因此,解决方案是通过引用传递列表:
(另一个功能也是如此)
一般来说,通过值传递复杂对象(如列表)是一个坏主意,因为即使提供了复制构造函数,实际制作复制也可能非常昂贵
相关问题 更多 >
编程相关推荐