C++ const uint32_t给出错误:对有符号整数执行hicpp位运算
下面的代码给了我一个叮当当当的错误: [clang tidy]有符号整数的hicpp位运算 当我按如下所示更改代码时,该错误消失了:C++ const uint32_t给出错误:对有符号整数执行hicpp位运算,c++,bitwise-operators,clang-tidy,C++,Bitwise Operators,Clang Tidy,下面的代码给了我一个叮当当当的错误: [clang tidy]有符号整数的hicpp位运算 当我按如下所示更改代码时,该错误消失了: uint32_t masked_var = ptr->c.b & (static_cast<uint32_t>(mask)); uint32屏蔽变量=ptr->c.b&(静态屏蔽); 在这个例子中,mask不是已经没有签名了吗?听起来像是clang tidy处理&的错误,而不是代码本身。没有理由将aconst uint32\u t类型
uint32_t masked_var = ptr->c.b & (static_cast<uint32_t>(mask));
uint32屏蔽变量=ptr->c.b&(静态屏蔽);
在这个例子中,
mask
不是已经没有签名了吗?听起来像是clang tidy处理&
的错误,而不是代码本身。没有理由将aconst uint32\u t
类型转换为auint32\u t
(如果您这样做,您应该使用const\u cast
,而不是static\u cast
)您使用的是什么版本的clang tidy?我在ClangTidy 10.0.0中没有看到这个错误(使用--checks=*
)。
uint32_t masked_var = ptr->c.b & (static_cast<uint32_t>(mask));