gpt4 book ai didi

c++ - 对基于范围的for循环的误解?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:15:56 24 4
gpt4 key购买 nike

当我尝试编译以下代码时出现编译器错误:

for(binary_instructions_t &inst: BinaryInstructions){


}

BinaryInstructions 是这个枚举类:

typedef unsigned int binary_instructions_t;

enum class BinaryInstructions : binary_instructions_t
{
END_OF_LAST_INSTR = 0x0,

RESET,
SETSTEP,
START,
STOP,

ADD,
REMOVE,
};

是否应该允许我使用枚举类中的项目“执行”基于范围的 for 循环?或者我是否误解了基于范围的 for 循环是用于搜索数组的内容而不是枚举类之类的东西?

我也尝试过:创建实例并在实例中搜索:

BinaryInstructions bsInstance;
for(binary_instructions_t &inst : bsInstance){


}

但是没有雪茄......提前致谢,

最佳答案

基于范围的 for 循环需要一个集合,例如数组或 vector 。枚举类不是集合。

但是,它是 C++,所以有一个解决方法。请参阅:Allow for Range-Based For with enum classes?

关于c++ - 对基于范围的for循环的误解?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14965174/

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