gpt4 book ai didi

c++ - 将指针并集转换为 void*

转载 作者:太空宇宙 更新时间:2023-11-04 13:15:47 25 4
gpt4 key购买 nike

我有 union

union Data
{
uint8_t * utf8;
uint16_t * utf16;
uint32_t * utf32;
};

和一个变量Data data; 如何将data 转换为void*? union 大小等于任何指针的大小,因为它只包含指针。那么为什么我不能像 (void*)data

最佳答案

你不能将 object 转换为 void* 但你可以像这样将它的指针转换为 void * :

Data d;
void * d_ptr = (void *) &d;

然后像这样再次获取对象:

Data &d2 = * (Data *) d_ptr;
Data *d3 = (Data *)d_ptr;

关于c++ - 将指针并集转换为 void*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37460367/

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