linuxC 编译报错cannot convert ‘char (*)[10]’ to ‘const char**’应该如何解决
时间: 2023-06-03 13:07:02 浏览: 1002
这个错误通常是因为传递给函数的参数类型不正确,函数声明中的参数类型与传递的参数类型不匹配。在这种情况下,可以将函数的声明更改为将参数作为指向指针的指针传递,或者将传递的参数进行强制转换为正确类型。具体的解决方法需要查看代码并进行修正。
相关问题
编译报错invalid conversion from ‘char**’ to ‘const char**’,应该怎么处理
您可以尝试将参数从char**改为const char**,因为C++不允许将常量指针转换为非常量指针类型。这意味着您需要将函数参数声明为const char**以匹配您的变量类型。如果问题仍然存在,请检查函数调用中是否存在其他参数类型不匹配的问题。
21 21 C:\Users\renguoxin\Desktop\素数.cpp [Error] cannot convert 'std::string {aka std::basic_string<char>}' to 'const char*' for argument '1' to 'int atoi(const char*)'
这个错误是因为您将一个 `std::string` 类型的字符串传递给了 `atoi()` 函数,而 `atoi()` 函数的参数需要的是一个 `const char*` 类型的字符指针,因此编译器报错。
要解决这个问题,您需要将 `std::string` 类型的字符串转换为 `const char*` 类型。可以使用 `c_str()` 函数来将 `std::string` 类型的字符串转换为 `const char*` 类型的字符指针,例如:
```
std::string str = "21";
int num = atoi(str.c_str());
```
这样就可以将 `str` 字符串转换为整数类型的 `num` 变量了。
阅读全文