13 18 G:\信竞上课\CSP-J1-1.cpp [Error] invalid conversion from 'std::basic_string<char>*' to 'int' [-fpermissive]
时间: 2024-11-03 18:16:01 浏览: 22
这个错误信息表明你在C++程序中遇到了类型转换的问题。`std::basic_string<char>*` 是一个字符串指针,而 `int` 是整型。当你试图将一个字符串指针隐式转换成整数时,编译器报错 "invalid conversion",并提示 `-fpermissive` 标志可能允许这种转换,但在默认情况下这是不允许的。
可能是以下几个情况导致的:
1. 你尝试将一个包含数字的字符串字面量直接赋值给整数变量,C++需要显式将其转换。
```cpp
std::string str = "13";
int num = std::stoi(str); // 使用 stoi 函数进行转换
```
2. 你在一个函数接收参数时,期望的是整数,但实际上传递了一个字符串指针。
```cpp
void func(int x) {
// ...这里的x应该是int类型...
}
// 错误部分
func(someStringVar);
```
你需要在调用时明确转换:
```cpp
func(std::stoi(someStringVar));
```
3. 如果是在比较或算术运算中,也可能需要先转换。
阅读全文