invalid conversion from 'void*' to 'int*' 怎么办
时间: 2023-12-10 13:06:00 浏览: 436
浅谈const变量赋值报错分析
这个错误提示表明你在将一个void指针转换为int指针时出错了。由于void指针可以指向任何类型的数据,因此需要进行类型转换才能正确使用。
如果你想将一个void指针转换为int指针,可以使用以下代码:
```cpp
void *ptr;
int *intptr = static_cast<int*>(ptr);
```
其中,static_cast是一种类型转换运算符,可以将一个指针从一种类型转换为另一种类型。需要注意的是,这种类型转换可能会引发一些未定义行为,因此在进行类型转换时需要确保类型转换是安全的。
如果你确定这个void指针指向的是一个int类型的数据,可以使用以下代码将其转换为int类型:
```cpp
void *ptr;
int value = *static_cast<int*>(ptr);
```
在这种情况下,我们通过解引用指针获取指针所指向的数据,然后将其转换为int类型。需要注意的是,如果void指针指向的不是int类型的数据,则这种类型转换可能会导致未定义行为。
阅读全文