Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C+中嵌入python+;提取c++;类型 我试图在我的C++程序中嵌入简单的Python指令。 我无法从Python对象类型中提取C++类型… 非常感谢您的帮助_Python_C++ - Fatal编程技术网

在C+中嵌入python+;提取c++;类型 我试图在我的C++程序中嵌入简单的Python指令。 我无法从Python对象类型中提取C++类型… 非常感谢您的帮助

在C+中嵌入python+;提取c++;类型 我试图在我的C++程序中嵌入简单的Python指令。 我无法从Python对象类型中提取C++类型… 非常感谢您的帮助,python,c++,Python,C++,示例程序: #include <iostream> #include <Python.h> using namespace std; int main() { Py_Initialize(); auto pModule = PyImport_ImportModule("math"); auto pFunc = PyObject_GetAttrString(pModule, "sin"); auto pIn = Py_BuildValue("(f)", 2.); aut

示例程序:

#include <iostream>
#include <Python.h>

using namespace std;

int main()
{
Py_Initialize();
auto pModule = PyImport_ImportModule("math");
auto pFunc = PyObject_GetAttrString(pModule, "sin");
auto pIn = Py_BuildValue("(f)", 2.);
auto pRes = PyObject_CallObject(pFunc, pIn);

auto cRes = ???;    

cout << cRes << endl;
Py_Finalize();
}

#包括
#包括
使用名称空间std;
int main()
{
Py_初始化();
auto pModule=PyImport_ImportModule(“数学”);
auto-pFunc=PyObject_GetAttrString(pModule,“sin”);
自动引脚=Py_构建值(“(f)”,2.);
自动压力=PyObject_CallObject(pFunc,pIn);
自动克雷斯=???;

cout您需要知道函数调用的类型,包括错误…如果函数引发异常,
PyObject\u CallObject
应返回NULL,因此首先检查该类型:

if (!pRes) {
    PyErr_Print();
    // don't do anything else with pRes
}
否则,您可以检查并解释Python函数调用中可能需要的每种类型:

if (pRes == Py_None) {
    cout << "result is None" << endl;
} else if (PyFloat_Check(pRes)) {
    auto cRes = PyFloat_AsDouble(pRes);
    cout << cRes << endl;
} else if (<other checks>) {
    // Handle other types
} else {
    cout << "Unexpected return type" << endl;
}
if(pRes==Py\u None){
库特