相关疑难解决方法(0)

为什么不能static_cast一个双void指针?

考虑以下代码:

void **v_dptr(nullptr);
int  **i_dptr = static_cast<int**>(v_dptr);
Run Code Online (Sandbox Code Playgroud)

上面的示例产生以下编译错误:

static_cast from 'void **' to 'int **' is not allowed

现场演示

我知道将void指针强制转换为任何其他指针类型的正确方法是使用static_cast.但是,您不能static_castvoid指针指向其他类型的另一个双指针.

问:

  1. 为什么我们不能static_castvoid指针?
  2. 什么是投射双void指针的正确方法?

c++ pointers void-pointers

6
推荐指数
2
解决办法
2162
查看次数

标签 统计

c++ ×1

pointers ×1

void-pointers ×1