@Zhyki
Ничерта не понимаю

C++, не найден конструктор по умолчанию,в чем проблема?

Есть код
class mainWindow : public Fl_Window {
public:
	mainWindow(int w, int h, int x, int y,const string& t)
	{
		Fl_Window(x,y,w,h,t.c_str());
	}
	~mainWindow();
	Fl_Button *start1 = new Fl_Button(180, 140, 40, 20, "Start");
};


И постоянно выдает ошибку при компиляции

Ошибка	1	error C2512: Fl_Window: нет подходящего конструктора по умолчанию

В аналогичном переопределении работает,у меня - нет.
Конструктор Fl_Window выглядит вот так:
Fl_Window(int x, int y, int w, int h, const char* title = 0);
Fl_Window(int w, int h, const char* title= 0);
  • Вопрос задан
  • 480 просмотров
Пригласить эксперта
Ответы на вопрос 1
@MiiNiPaa
Fl_Window(x,y,w,h,t.c_str()); Здесь вы создаёте временный локальный объект типа Fl_Window. Это точто то, что вам надо?

Если вы хотите инициализировать базовый класс, делайте это в списке инициализации:
mainWindow(int w, int h, int x, int y,const string& t) : Fl_Window(x,y,w,h,t.c_str())
  {}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы