为什么有些C++指针不能隐式转换为void* ?
2023-05-11 阅读 67
在C++中,指针是一种强类型。void*是一种无类型指针,可以指向任何类型的数据。因此,将一个指针隐式转换为void*会导致类型信息的丢失。这可能会导致一些问题,例如无法正确地进行内存访问或类型转换。因此,C++中只允许将指向对象的指针或函数指针隐式转换为void*,而不允许将指向成员函数的指针或指向成员对象的指针隐式转换为void*。如果需要将这些指针转换为void*,需要使用显式类型转换。
更新于 2023年05月13日