我有一堂课,Square:
class Square
{
typedef enum {kTop = 0x80, kRight = 0x40, kBottom = 0x20, kLeft = 0x10} Side;
// Other functions and stuff
}
在我的一个函数中,我有一个for
循环,该循环执行涉及 a 的每一边的操作Square
。我是这样设计的:
for (Square::Side side = Square::kLeft; side < Square::kLeft; side << 1) // Warning here
{
// Do stuff
}
首先,循环将在左侧工作,然后将一侧向左移动一个位置,使一侧等于底侧。循环在 Top 侧执行完for
操作后,它会再次向左移动,将数字推开并使其等于 0,小于 kLeft,循环将结束。
但是,它给了我一个警告,上面写着“对于增量表达式没有效果”。这是否意味着我的轮班操作没有发生?