C ++ Força erro / aviso em tempo de compilação no fall-through implícito no comutador

switch declarações podem ser super úteis, mas levam a um erro comum em que um programador esqueceu uma declaração de interrupção:

switch(val) {
    case 0:
        foo();
        break;
    case 1:
        bar();
        // oops
    case 2:
        baz();
        break;
    default:
        roomba();
}

Obviamente, você não receberá um aviso, pois algumas vezes é explicitamente desejado. Um bom estilo de codificação sugere comentar quando sua explicação é deliberada, mas às vezes isso é insuficiente.

Tenho certeza de que a resposta a esta pergunta é não, mas: existe alguma maneira atualmente (ou proposta no futuro) de pedir ao compilador para gerar um erro (ou pelo menos um aviso!) Se o seucase não tem pelo menos um dosbreak; ou algo para o efeito de// fallthru? Seria bom ter uma opção de programação defensiva para usarswitch afirmações.

questionAnswers(4)

yourAnswerToTheQuestion