gpt4 book ai didi

c++ - 'for' 的增量表达式没有任何效果

转载 作者:搜寻专家 更新时间:2023-10-31 00:18:03 25 4
gpt4 key购买 nike

我有一个类,Square:

class Square
{
typedef enum {kTop = 0x80, kRight = 0x40, kBottom = 0x20, kLeft = 0x10} Side;
// Other functions and stuff
}

在我的一个函数中,我有一个 for 循环,它执行涉及 Square 每一边的操作。我是这样做的:

for (Square::Side side = Square::kLeft; side < Square::kLeft; side << 1) // Warning here
{
// Do stuff
}

首先,循环会在左侧工作,然后它将边向左移动一个位置,使边等于底边。 for 循环在 Top 侧执行完它的操作后,它会再次向左移动,将数字的位推开并使其等于 0,这小于 kLeft,并且循环将结束。

但是,它给我一个警告,说“for increment expression has no effect”。这是否意味着我的轮类操作没有发生?

最佳答案

是的,因为停止条件在第一次尝试时为假:

Square::Side side = Square::kLeft

渲染

side < Square::kLeft;

错误。

也许你的意思是side <= Square::kTop或类似的和side <<= 1 .

关于c++ - 'for' 的增量表达式没有任何效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11715196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com