错误:无法使用类型为“ const char [34]”的左值初始化类型为“ const char”的返回对象

白熊

我是g ++的新手。

我正在尝试编译此简单代码。

但是,有此错误。

错误:无法使用类型为“ const char [34]”的左值初始化类型为“ const char”的返回对象

#include <boost/python.hpp>

char const doYouDo( const char* jobs ){
    return "Hello, I am an embedded engineer.";
}

BOOST_PYTHON_MODULE( what ){
    boost::python::def( "doYouDo", doYouDo);
}

我应该在哪里修理?

我的g ++编译命令在这里。

$g++ -fPIC -Wall -I/System/Volumes/Data/Users/whitebear/anaconda3/envs/aiwave/include/python3.6m/ -lboost_python -shared -o whatModule.so what.cpp
"Hello, I am an embedded engineer." 

...是String Literal,它的类型为,const char[]并且您的函数定义为返回单个常量字符(char const),因此会出现错误。

你可以做什么:

由于无法在C ++中按值返回C样式的数组,因此可以改为返回一个指针:

char const* doYouDo( const char* jobs ) {
    return "Hello, I am an embedded engineer.";
}

或者,您也可以使用std::string它,因为它具有以下内置的构造函数const char*

std::string doYouDo( const char* jobs ) {
    return "Hello, I am an embedded engineer.";
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

const char *返回类型

来自分类Dev

错误:常量类型为'const char'的对象的默认初始化

来自分类Dev

预期的const char *,但参数为char类型

来自分类Dev

来自 const char* 类型的临时对象的 cost char*& 类型的非常量引用的无效初始化

来自分类Dev

无法将类型为“ const char *”的值分配给类型为“ char”的实体C OOP

来自分类Dev

TypeError:类型为'char const *'的参数

来自分类Dev

类型“ const char **”的参数与类型“ const char *”的参数不兼容

来自分类Dev

(const char *)++或(const char)++?

来自分类Dev

将const char *返回为char *,然后更改数据

来自分类Dev

预期的预期为'const char **',但参数的类型为'char **'

来自分类Dev

Sizeof const char *错误值

来自分类Dev

预期的'const char *',但参数在C中的类型为'char **'

来自分类Dev

分配(const char *)指针类型-分段错误

来自分类Dev

无效的常数添加?错误:无法使用char **初始化const char **

来自分类Dev

const(char)*无法修改

来自分类Dev

const(char)*无法修改

来自分类Dev

错误:类型为'const char [35]'和'const char [2]'的无效操作数为二进制'operator +'

来自分类Dev

预期为“ const char * __restrict__”,但参数的类型为“ int”

来自分类Dev

C++:无法在使用类型条件的模板函数中用类型为“double”的左值初始化“char*”类型的参数

来自分类Dev

错误:类型为“const char [8]”和“const char [7]”的无效操作数到二进制“operator<<”

来自分类Dev

const char * vs const char []

来自分类Dev

const_cast <char *>(char * const)不是左值吗?

来自分类Dev

如何复制const char *类型变量的内容?

来自分类Dev

“类型为WCHAR *的参数与“ const char *”不兼容”

来自分类Dev

参数类型为:(size_t,const char [2])

来自分类Dev

为 const char* 重载 operator+

来自分类Dev

const类型'NSString * const __strong'的对象的默认初始化?

来自分类Dev

使用 C++ 初始化 Struct 的变量 const char* const*

来自分类Dev

'const char *'类型的参数与'char *'类型的参数不兼容

Related 相关文章

  1. 1

    const char *返回类型

  2. 2

    错误:常量类型为'const char'的对象的默认初始化

  3. 3

    预期的const char *,但参数为char类型

  4. 4

    来自 const char* 类型的临时对象的 cost char*& 类型的非常量引用的无效初始化

  5. 5

    无法将类型为“ const char *”的值分配给类型为“ char”的实体C OOP

  6. 6

    TypeError:类型为'char const *'的参数

  7. 7

    类型“ const char **”的参数与类型“ const char *”的参数不兼容

  8. 8

    (const char *)++或(const char)++?

  9. 9

    将const char *返回为char *,然后更改数据

  10. 10

    预期的预期为'const char **',但参数的类型为'char **'

  11. 11

    Sizeof const char *错误值

  12. 12

    预期的'const char *',但参数在C中的类型为'char **'

  13. 13

    分配(const char *)指针类型-分段错误

  14. 14

    无效的常数添加?错误:无法使用char **初始化const char **

  15. 15

    const(char)*无法修改

  16. 16

    const(char)*无法修改

  17. 17

    错误:类型为'const char [35]'和'const char [2]'的无效操作数为二进制'operator +'

  18. 18

    预期为“ const char * __restrict__”,但参数的类型为“ int”

  19. 19

    C++:无法在使用类型条件的模板函数中用类型为“double”的左值初始化“char*”类型的参数

  20. 20

    错误:类型为“const char [8]”和“const char [7]”的无效操作数到二进制“operator<<”

  21. 21

    const char * vs const char []

  22. 22

    const_cast <char *>(char * const)不是左值吗?

  23. 23

    如何复制const char *类型变量的内容?

  24. 24

    “类型为WCHAR *的参数与“ const char *”不兼容”

  25. 25

    参数类型为:(size_t,const char [2])

  26. 26

    为 const char* 重载 operator+

  27. 27

    const类型'NSString * const __strong'的对象的默认初始化?

  28. 28

    使用 C++ 初始化 Struct 的变量 const char* const*

  29. 29

    'const char *'类型的参数与'char *'类型的参数不兼容

热门标签

归档