gpt4 book ai didi

c++ - 可疑的指针到指针转换(区域太小)

转载 作者:行者123 更新时间:2023-11-28 02:57:58 25 4
gpt4 key购买 nike

我收到此警告是因为我的逻辑 -

逻辑:

uint8_t     *m_data;

uint32_t* datap = (uint32_t*)m_data;

警告:

Info 826: Suspicious pointer-to-pointer conversion (area too small)

因为需要在赋值期间对值进行类型转换..而且我不觉得给定的代码行有问题..我如何才能抑制此警告或将其从构建中删除

最佳答案

这不是正确的转换,您试图将指向一个字节的指针解释为指向 4 个字节的指针,这可能会导致意外结果。如果 uint32_tuint8_t 具有不同的对齐要求,您甚至可能获得不同的指针值,以及它指向的内容。如果要转换值,只需执行以下操作:

uint32_t datap;
datap = static_cast<uint32_t>(*m_data);

关于c++ - 可疑的指针到指针转换(区域太小),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21552209/

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