c/c++语言开发共享错误:’PyObject’(又名’_object’)类型的值不能在上下文中转换为’bool’

我将一个python模块传递给C作为PyObject 。 我想使用以下表单检查我的C代码中的值是否为NONE:

 int func(PyObject tmp) { if(tmp) { // etc 

我收到以下错误。 我如何从PyObject转换为布尔值,simillar转换为Python函数的行为方式。 值得注意的是,当tmpboost::python::object变量时,此命令按预期工作。

 ex_program.cpp:72:7: error: value of type 'PyObject' (aka '_object') is not contextually convertible to 'bool' if (tmp) ^~~ 

    PyObject_IsTrue似乎做你想要的 :

     int PyObject_IsTrue(PyObject *o) Returns 1 if the object o is considered to be true, and 0 otherwise. This is equivalent to the Python expression not not o. On failure, return -1. 

      以上就是c/c++开发分享错误:’PyObject’(又名’_object’)类型的值不能在上下文中转换为’bool’相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/519786.html

      (0)
      上一篇 2020年12月5日
      下一篇 2020年12月5日

      精彩推荐