在关于切换和转到的问题中,this answer使用此代码来避免完全使用goto:
switch(color)
case YELLOW:
if(AlsoHasCriteriaX)
case GREEN:
case RED:
case BLUE:
Paint();
else
default:
Print("Ugly color, no paint.");
此代码如何工作?我理解案例会自动落空,因此我color
YELLOW
时不需要解释,但color
GREEN
何时?当C ++从未遇到else
时,它如何处理if
。这段代码是否会编译,是运行时错误,还是忽略else
?