使用 default 編譯器就沒機會幫你找出未處理的 case而 non-enum 也要好好考慮是否真的適用 switch
https://godbolt.org/z/9Ws5v3寫 C++ 最重要的概念是把檢查的工作都交給編譯器, 編得過的程式碼就不容易出錯上面程式碼應該下 -Wswitch 搭配 default 0rz比較好的設計是把輸入和程式內部表示分開, switchover char 是權責沒有分離的例子, 既然 switch 的label 數量是固定的, 就沒道理使用 char 來表示方向,一來不能用程式碼來闡述設計, 二來因為値域太大的關係, 所有介面以及運算都是潛在會出 bug 的地方