'for'的增量表达式没有任何效果
Increment expression for 'for' doesn't have any effect
我有一个类,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,并且循环将结束。
然而,它给了我一个警告,说"对于增量表达式没有效果"。这是否意味着我的轮班操作没有发生?
Square::Side side = Square::kLeft
呈现
side < Square::kLeft;
false。
也许你指的是side <= Square::kTop
或类似的side <<= 1
。
您没有将移位的值分配回side。试试这个:
(方形::Side Side=方形::kLeft;Side<方形::k Left;Side=Side<<1)
或CCD_ 6。
您还需要修复您的终止条件:
侧面<=方形.kTop
相关文章:
- "error: no matching function for call to"构造函数错误
- 表示"accepting anything for this template argument" C++概念的通配符
- 如何在C++中从两个单独的for循环中添加两个数组
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 在Linux for Windows上编译C++代码时出错
- 为什么当我没有变量或其他任何命名的东西时"no match for 'operator==' "错误?
- 螺旋矩阵在最后一个"for"循环中中断,不显示任何内容
- 简单的 for() 循环基准测试在任何循环绑定下花费相同的时间
- 这个基于范围的'for'语句需要一个合适的函数,但找不到任何函数
- 如果任何条件是错误的,如何从for循环中返回false
- 使用 for 循环反转数组不执行任何操作
- OpenMP:嵌套的 for 循环,执行时间几乎没有任何差异
- 'for'的增量表达式没有任何效果
- 嵌套 for 循环的任何快速搜索算法
- MFC 应用程序 Dialog基于使用 propertyPage,DoModal() for a CDialog 不打开任何对话框
- Boost.Python - 不使用任何 boost for C++
- 计算没有If/While/For语句或任何数据结构的更改
- 在for循环内部使用时,是否存在任何异常甚至极端的情况,即后增量实际上比预增量更好
- 如果没有for循环,我如何直接找到映射中指向两个不同键的任何两个迭代器之间的元素数量
- 为什么在for循环中没有初始化的声明没有任何警告?