構造体の行列内でオブジェクトのインスタンスを初期化する正しい方法は何ですか?
私のコンストラクターCita(int, int)
は新しいインスタンスを作成するために 2 つのパラメーターを必要としますが、プログラムをコンパイルすると、シェルはコンパイルする必要があると言いました-std=c++0x or -std=gnu++0x
が、それを行うことは許可されていません。ここにエラーがあります..
Dia.cpp: In constructor ‘Dia::Dia(int, int, int)’:
Dia.cpp:9:56: warning: extended initializer lists only available with -std=c++0x or -std=gnu++0x [enabled by default]
Dia.cpp:9:75: warning: extended initializer lists only available with -std=c++0x or -std=gnu++0x [enabled by default]
Dia.cpp:9:75: error: deducing from brace-enclosed initializer list requires #include <initializer_list>
そして、ここに私のコードがあります..
ダイヤ.cpp
horario_funcionarios = vector_horario_funcionarios (numero_funcionarios,
vector_horario(numero_horas, {true, Cita(0,0)}) );
ダイヤ.hpp
struct hora_dia {
bool habil;
Cita cita;
};
typedef vector<hora_dia> vector_horario;
typedef vector<vector_horario> vector_horario_funcionarios;
class Dia {
private:
int id;
vector_horario_funcionarios horario_funcionarios;
.
.
.
Cita.cpp
Cita::Cita(int id, int nivel) {
this->id = id;
this->nivel = nivel;
}
.
.