warning C4552: '>>' : operator has no effect; expected operator with side-effect
右移操作的时候,一不小心就出现这种警告,结果不能达到预期
原因:
右移操作符>>用法错误,在写代码时候写成了:
Msg>>1;
原意是将a右移4位,结果却出现warning C4552: '>>' : operator has no effect; expected operator with side-effect没有达到右移的目的。
解决:
Msg>>=1;即是Msg=Msg>>1;
本文探讨了在C/C++编程中使用右移操作符(>>)时常见的一个误区,即直接使用表达式“变量>>数值”而非“变量>>=数值”。文章解释了为何前者会导致编译器发出警告,而后者才是实现变量值右移的正确方式。

1万+

被折叠的 条评论
为什么被折叠?



