[Error] invalid conversion from 'int*' to 'int' [-fpermissive]
时间: 2024-02-29 10:51:36 浏览: 136
无法从 int? 转换为 int 运行时出现错误
这个错误通常是因为将一个 int 指针赋值给一个 int 类型的变量,或者将 int 指针作为参数传递给需要 int 类型参数的函数。
比如以下代码就会出现这个错误:
```
int* ptr = new int(10); // 创建一个 int 指针并初始化为 10
int a = ptr; // 错误:将 int 指针赋值给 int 类型变量
```
解决方法是将指针解引用,获取其指向的值:
```
int* ptr = new int(10); // 创建一个 int 指针并初始化为 10
int a = *ptr; // 正确:获取 ptr 指向的值并赋值给 a
```
或者将函数参数改为接受 int 指针类型:
```
void func(int* ptr) {
// ...
}
int main() {
int a = 10;
func(&a); // 传递 a 的地址给函数
return 0;
}
```
阅读全文