私はクラスを持っています:
Temp.h:
[...]
class Temp{
public:
Temp(vector<vector<double> > vect);
const static Temp VAR1;
const static Temp VAR2;
...
};
double の配列 {{0,1,0,1},{1,0,1,0}} を使用して VAR1 と VAR2 を初期化したい。しかし、私はこれを次のようにすることはできません:
const Temp::VAR1(...);
、配列の配列からベクトルのベクトルを構築する「1行」演算子がないためです。次のような構造を構築することを考えました。
B{
vector<vector<double> > vect;
B& add (double[] a, int number) {...
push elements from array to vector and add this vector to vect ...
return *this;
}
Temp build() {return Temp(vect);}
}
しかし、私が電話すると:
B().add({0,1,0,1},4).add({1,0,1,0},4).build();
コンパイラは {0,1,0,1} を配列として認識しませんが、double* として認識し、変更できません。
複数の行で const static メンバーを初期化するためのメソッドまたは同様のものを作成するオプションはありますか?
十分に簡単に書いたと思いますが、そうでない場合は後で編集します。