gpt4 book ai didi

c++ - 如何将 void 指针类型转换为 int 指针,然后将 int 存储在其中?

转载 作者:行者123 更新时间:2023-11-28 00:17:19 25 4
gpt4 key购买 nike

1.    void* x;
2. x = new int [10];
3. x = static_cast<int*>(x);
4. *x = 2;

在第 4 行,我得到:error: ‘void*’ is not a pointer-to-object type

最佳答案

您需要定义新的指​​针类型。

你静态转换了 x,但是类型信息在静态转换之后丢失了,因为在声明时 x 是 void*。

x 将在他的一生中保持无效*。

这是一个工作代码示例:

     void* x;
int* ptr;
x = new int[10];
ptr = static_cast<int*>(x);
*ptr = 2;

或者,您可以在同一行中分配和转换:

    *(static_cast<int*>(x)) = 2;

关于c++ - 如何将 void 指针类型转换为 int 指针,然后将 int 存储在其中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29430190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com