どうしても納得いかないところが。
複数の翻訳単位でインクルードされているヘッダファイルがあって、const char* はextern をつけているから問題ない。
しかし、extern をつけていないenumは多重定義エラーが出ないのはなぜでしょうか?