Russian Qt Forum

Qt => Вопросы новичков => Тема начата: fisenkdima от Февраль 25, 2013, 07:36



Название: Наследование вообще и QDialog в частности.
Отправлено: fisenkdima от Февраль 25, 2013, 07:36
Захотелось мне что-то создать свой класс, наследующийся от QDialog. И решил я ему в конструктор передавать экземпляр класса QString, дабы его потом в этом диалоге отобразить.
Выглядит это так:

*.h:
Код:
explicit Dialog( QString label, QWidget *parent = 0 );
*.cpp:
Код:
Dialog::Dialog( QString label, QWidget *parent = 0 ) :
    QDialog(parent),
    ui(new Ui::Dialog)
{ ... }

На получившийся код компилятор ругается следующими бранными словами, смысл которых я никак не пойму:
dialog.cpp:4: ошибка: default argument given for parameter 2 of 'Dialog::Dialog(QString, QWidget*)' [-fpermissive]
dialog.h:15: ошибка: after previous specification in 'Dialog::Dialog(QString, QWidget*)' [-fpermissive]


Люди добрые, если не сложно, подскажите холопу место, где он не прав.


Название: Re: Наследование вообще и QDialog в частности.
Отправлено: GreatSnake от Февраль 25, 2013, 07:45
Компилятор же ясно даёт понять, что "default argument given for parameter 2", т.е. "QWidget *parent = 0", позволительно описывать только в одном месте, т.е. в инклюднике.
Да и QString не мешало бы описать как "const reference".


Название: Re: Наследование вообще и QDialog в частности.
Отправлено: fisenkdima от Февраль 25, 2013, 07:52
Слушаюсь и повинуюсь, мастер)

Цитировать
т.е. "QWidget *parent = 0", позволительно описывать только в одном месте, т.е. в инклюднике.
Я впервые столкнулся с ошибкой вида "default argument given for parameter Х". Поэтому для меня это не было очевидно. Собственно поэтому и спрашивал.

И, да, на счёт ссылки я понял. Глупый недочёт.


Название: Re: Наследование вообще и QDialog в частности.
Отправлено: fisenkdima от Февраль 25, 2013, 07:55
Но вот незадача, после этой поправки он выдал парочку новых ругательств:

ошибка: cannot find -lGL
ошибка: collect2: ld returned 1 exit status


Что они могут значить?


Название: Re: Наследование вообще и QDialog в частности.
Отправлено: GreatSnake от Февраль 25, 2013, 08:16
Компоновщик не нашел OpenGL библиотеку.