使用 default 编译器就没机会帮你找出未处理的 case而 non-enum 也要好好考虑是否真的适用 switch
https://godbolt.org/z/9Ws5v3写 C++ 最重要的概念是把检查的工作都交给编译器, 编得过的程式码就不容易出错上面程式码应该下 -Wswitch 搭配 default 0rz比较好的设计是把输入和程式内部表示分开, switchover char 是权责没有分离的例子, 既然 switch 的label 数量是固定的, 就没道理使用 char 来表示方向,一来不能用程式码来阐述设计, 二来因为値域太大的关系, 所有接口以及运算都是潜在会出 bug 的地方