int 转化为void*
时间: 2024-05-30 09:15:46 浏览: 9
可以使用强制类型转换将int类型的变量转化为void*类型的指针,如下所示:
int num = 10;
void* ptr = (void*)#
上述代码将整型变量num的地址强制转换为void*类型的指针,并将其赋值给变量ptr。需要注意的是,这种转换方式可能会引起类型不匹配的问题,在使用时需要格外小心。
相关问题
46 35 D:\学生管理系统\学生管理,通用指针.cpp [Error] cannot convert 'void* (*)(Node*)' to 'void**' for argument '3' to 'Node* addAll(Node*, int, void**)'
这个错误是因为在调用函数`addAll(Node*, int, void**)`时,第三个参数应该是一个`void**`类型的指针,但是你传递了一个`void* (*)(Node*)`类型的指针,这两种类型是不兼容的,因此编译器会报错。你需要将第三个参数改为`void**`类型的指针,或者将你传递的指针进行强制类型转换。
下面是一个示例代码,演示了如何使用`void*`类型的指针和`void**`类型的指针:
```c++
#include <iostream>
using namespace std;
void func1(void* data) {
int* p = (int*)data;
cout << "func1: " << *p << endl;
}
void func2(void** data) {
int* p = (int*)*data;
cout << "func2: " << *p << endl;
}
int main() {
int num = 10;
void* p1 = #
void** p2 = &p1;
func1(p1); // 输出:func1: 10
func2(p2); // 输出:func2: 10
return 0;
}
```
int** 能赋值给void *吗
int** 不能直接赋值给 void*。因为 void* 是一个无类型指针,可以指向任何类型的数据,而 int** 是一个指向指针的指针,它指向的是 int 类型的数据。这两种类型是不兼容的,所以不能直接赋值。
如果你想将 int** 转换为 void*,可以使用类型转换操作符进行转换。但是需要注意,这样的转换可能会导致类型不匹配的错误,因为 void* 无法知道指向的具体类型。
以下是一个示例代码,演示了如何将 int** 转换为 void*:
```cpp
int main() {
int a = 10;
int* p = &a;
int** pp = &p;
void* vp = static_cast<void*>(pp);
return 0;
}
```
请注意,这种转换可能会导致类型安全问题,因为在将 void* 转换回 int** 时,编译器无法检查类型是否匹配。因此,在进行这种转换时,需要谨慎处理。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)