Что-то, что не было рассмотрено в других ответах = если вы используете строго типизированные C ++ 11 перечисления, вы не можете использовать ++
или + int
для них. В этом случае требуется немного беспорядочного решения:
enum class myenumtype {
MYENUM_FIRST,
MYENUM_OTHER,
MYENUM_LAST
}
for(myenumtype myenum = myenumtype::MYENUM_FIRST;
myenum != myenumtype::MYENUM_LAST;
myenum = static_cast<myenumtype>(static_cast<int>(myenum) + 1)) {
do_whatever(myenum)
}