bitset 使用问题

beyond8820 2013-01-28 02:53:44
typedef std::bitset<16> Packet;

func()
{
Packet packet;
}
编译时,产生C6326警告:可能对两个常数进行比较,
求问怎样修改能去掉这个警告

找到警告产生的代码行,是bitset文件中的下面红色显示行
void _Trim()
{
// clear any trailing bits in last word
if (_Bits % _Bitsperword != 0)
_Array[_Words] &= ((_Ty)1 << _Bits % _Bitsperword) - 1;
}
...全文
125 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
derekrose 2013-01-28
  • 打赏
  • 举报
回复
bitset根本就没用过的路过
sduxiaoxiang 2013-01-28
  • 打赏
  • 举报
回复
bitset效率很低 还不如自己用char数组bit操作高 warning无所谓
beyond8820 2013-01-28
  • 打赏
  • 举报
回复
谢谢 ForestDB,有没有别的办法可以绕过这个warning,而不要直接disable它
ForestDB 2013-01-28
  • 打赏
  • 举报
回复
_Bits或者_Bitsperword中有个可能是常量,然后和常量0比较,才导致那个warning。 估计是你的库不严谨导致的。因为这毕竟是标准库中的东西。 所以直接#pragma warning( disable: 6326 )这样就可以了。
beyond8820 2013-01-28
  • 打赏
  • 举报
回复
有人知道吗?

65,184

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧