質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

1回答

242閲覧

C++のconst static int に代入して配列を定義したい

nicoyou

総合スコア129

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2019/07/10 12:48

タイトルの通りなのですが、以下のように定義した変数を利用して配列(int i[ココ])を定義したいです。
一番下のように宣言と同時に初期化すれば出来るのですが、他のCppファイルで初期化したり、iniファイルから読み込んだ値で初期化することはできますか?
できる場合は方法を教えて得頂けると嬉しいです。
VC++2017 win10

c++

1class Define 2{ 3public: 4 Define() = default; 5 ~Define() = default; 6 7 const static int WIN_W; // ウィンドウサイズ横 8 const static int WIN_H; // ウィンドウサイズ縦 9 const static int WIN_W2; // ウィンドウサイズ横/2 10 const static int WIN_H2 = 100; // これならO 11}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

コンストラクタ(Define(int n))を作って、Define(int n):WIN_H2(n){}とやれば出来ます。
・・・新規にコンストラクタを作らないのなら出来ません。
コンストラクタとメンバ初期化子リスト
「追記」これなら通りますが?

cpp

1class Define 2{ 3 public: 4 static int WIN_W; // ウィンドウサイズ横 5 static int WIN_H; // ウィンドウサイズ縦 6 const static int WIN_W2 = 200; // ウィンドウサイズ横/2 7 const static int WIN_H2 = 100; // これならO 8 9 Define() = default; 10 ~Define() = default; 11 12}; 13 14int Define::WIN_W = 0; // ウィンドウサイズ横 15int Define::WIN_H = 0; // ウィンドウサイズ縦 16 17int main(void) 18{ 19 Define::WIN_H = 10; 20 Define::WIN_W = 30; 21 22 return 0; 23}

WIN_W2とWIN_H2は不可

投稿2019/07/10 14:09

編集2019/07/10 15:05
cateye

総合スコア6851

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

cateye

2019/07/10 14:48 編集

const staticに関しては未検証です。・・・ごめんなさい出来ないっぽいm(_"_)m staticメンバーは同一クラスの全てで単一なので当然といえば当然・・・不要な雑音を入れてしまいしました。 参考:http://vivi.dyndns.org/tech/cpp/static.html の「static メンバ変数」参照
nicoyou

2019/07/10 23:58

ご回答ありがとうございます そうなんですね、URLは帰宅してから読まさせていただきますm(__)m
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問