前提・実現したいこと
マジックナンバーの生成を回避するためにメンバ定数を作成しようとしています。
そこでヘッダーにstatic const
のメンバー定数を定義しようとしていますがコンパイルが出来ません。
よろしくお願いいたします。
発生している問題・エラーメッセージ
エラー : 型”const CString”のメンバーはin-class initializer を持つことが出来ません。
該当のソースコード
C++
1#pragma once 2class test(){ 3 static const CString c_newValue = _T("NEW_VALUE"); 4 5 test(); 6 ~test(); 7};
試したこと
ソース側に const CString test::c_newValue = _T("NEW_VALUE");
を追加すればビルドが通るのですが
定数の定義をソースで行うのは読みづらく行数を増やすだけだと感じ、ヘッダ側で定義する方法がないかを探しています。
constの場合はコンストラクタで値を定義しなくてはならないですが、その決まりと何か関連があるのでしょうか・・・
補足情報(FW/ツールのバージョンなど)
- Windows7/64bit SP
- VisualStudio2015 SP1
- C++/MFC
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/26 02:31