Итак, есть какой-то такой говнокод:
enum Whatever { ONE = 1, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT };
void foo(Whatever v) {
switch (v) {
case ONE:
case TWO:
case SIX:
std::cout << v << std::endl;
case THREE: // fallthrough
default:
break; // без хотябы ";" не компилируется:
// error: expected primary-expression before '}' token
}
}
Вопрос: как ничего не делать и жить счастливо зачем в конце обязателен какой-нибудь statement? Почему что мешает сделать как в случае fallthrough?