可疑的指针转换转换(区域太小)
Suspicious pointer-to-pointer conversion (area too small)
我正在为我的逻辑得到此警告 -
逻辑:
uint8_t *m_data;
uint32_t* datap = (uint32_t*)m_data;
警告:
Info 826: Suspicious pointer-to-pointer conversion (area too small)
由于要求在分配过程中打字值。而且我不觉得给定代码行中有问题。.我如何抑制此警告或将其从构建中删除
这不是正确的演员,您正在尝试将指针解释为字节为4个字节的指针,并可能导致意外结果。如果uint32_t
的对齐要求与uint8_t
不同,则您甚至可能会获得指针的不同值,也可能会获得指向的指向。如果要转换值,只需做:
uint32_t datap;
datap = static_cast<uint32_t>(*m_data);
相关文章:
- 防止主数据类型C++的隐式转换
- 模板参数替换失败,并且未完成隐式转换
- 努力将整数转换为链表。不知道我在这里做错了什么
- HEX值到wchar_t字符(UTF-8)的转换
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将 Qvector<uint8_t> 转换为 QString
- 如何在cuSparse中使用cusparseXcoo2csr从coo转换为csc
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 在c++中使用nlohmann从类到json的转换
- 从"int*"强制转换为"unsigned int"会丢失精度错误
- 将Integer转换为4字节的unsined字符矢量(按大端字节顺序)
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- 复制列表初始化的隐式转换的等级是多少
- 正在将指针转换为范围
- C 将没有时区域区域区域的Postgres时间戳转换为Time_T
- 可疑的指针转换转换(区域太小)
- 使用UTC来回转换日期以忽略DST但仍使用当前用户的有效区域设置是否安全
- OBDC 驱动程序字符串转换取决于控制面板/区域设置
- 将字符串转换为wstring[不带区域设置的俄语符号::global]