python - 为什么 PyArg_ParseTuple 总是返回 false?
问题描述
我的PyFLoat_ParseTuple
调用总是返回 false,来自 python 端的调用正确。
我正在为 Python 包装我的 C++ 并使用 python 扩展。我有一个成功的项目,并以此为基础生成了当前的项目。
我的 python 运行总是崩溃,在调查过程中,我将代码缩减为以下最小代码以重复它。
如果我将 C++/Python 端都更改为非 arg 调用,它会按预期工作。但是当我传入 args 时,总是会打印“解析错误”。
C++:
static PyObject *myfunc(PyObject *self, PyObject *args)
{
float v[6];
if (!PyArg_ParseTuple(args, "ffffff", v,v+1,v+2,v+3,v+4,v+5));
{
//I can alway see this prited.
cerr<<"Parse error\n";
return NULL;
}
return PyString_FromFormat("No error!\n");
}
Python:
print func(0.1,0.2,0.3,0.4,0.5,0.6)
解决方案
一个非常简单的错字:
if (!PyArg_ParseTuple(args, "ffffff", v,v+1,v+2,v+3,v+4,v+5));
- 看到;
末尾的分号了if
吗?
推荐阅读
- flutter - 如何在图像的透明部分显示在 Flutter 中位于其后面的图像?
- javascript - 如何使用 Asp.Net Core MVC 将订单的总金额发送到 Stripe Api
- azure - 访问令牌提供不同的澳元?
- automated-tests - 使用参数执行功能文件(Cucumber/SpecFlow)?
- mysql - 如何在 Laravel 中获得生日?
- java - 如何通过命令行将参数传递给testng xml
- linux - 使用 linux 终端通过 SSH 连接到 amazon Lightsail 实例
- numpy - 从销售 df.csv 绘制历史数据的问题
- message - SAP ABAP 帮助:用户应根据消息中的设置获取字段名称或标签
- javascript - Javascript:检查类是否因未输入必填字段条目而更改