最近、構造体/クラス内の静的定数の奇妙な未定義のシンボルで説明されている問題に遭遇しました。静的constクラスのメンバーだけでなく、すべての静的constクラスメンバーの対応する.cppファイルに定義を追加して、コードを準拠させようとしています。リンカエラーを引き起こしていたもの。
定数が複数のコンパイルユニットで使用されている場合、定義がコンパイルユニットの1つだけにあるにもかかわらず、複数の定義エラーが発生します。
イニシャライザーを定義に移動することでエラーを防ぐことができますが、私はそうしません。
私が現在VisualStudioで作業している間、このコードはいくつかのプラットフォームでビルドする必要があります。