Каков правильный способ инициализации экземпляра объекта в матрице структуры?Каков правильный способ инициализации экземпляра объекта в матрице структуры?
Моему конструктору Cita(int, int)
нужны два параметра для создания нового экземпляра, но когда я скомпилирую программу, моя оболочка сказала мне, что мне нужно скомпилировать с -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>
И вот мой код ..
Dia.cpp
horario_funcionarios = vector_horario_funcionarios (numero_funcionarios,
vector_horario(numero_horas, {true, Cita(0,0)}));
Dia.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;
}
.
.
Это только предупреждение. Ошибка говорит, что вам нужно добавить '#include' в верхней части файла. –