Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Программирование под Unix/Linux > qt Где здесь ошибка синтаксиса? |
Автор: yoweb 30.5.2013, 15:36 | ||
qt Где здесь ошибка синтаксиса?
7: error: expected class-name before '{' token 19: error: field 'baseUrl' has incomplete type |
Автор: Guinness 30.5.2013, 15:43 |
Ui::Form неизвестный класс для компилятора, сделайте соответствующий #include #include <QUrl> сделайте. |
Автор: bsa 30.5.2013, 16:00 |
скорее всего, класс был сделан для формы с именем Form, а она потом была переименована в Previewer. Скорее всего, необходимо заменить Form на Previewer. |
Автор: rodnover 31.5.2013, 05:12 | ||
Нет, просто добавить include Этот ответ добавлен с нового Винграда - http://ru.vingrad.com//object-id51a748696ccc19fc22000002#findElement_E7045_51a807266ccc196e0700191f_0 |
Автор: shizoid 7.8.2013, 13:42 |
А разве множетсвенное наследование от QObject классов прокатит? |
Автор: bsa 7.8.2013, 14:22 |
shizoid, а где ты его тут увидел? Ui::Form это примитивная структура с указателями на компоненты формы и парой методов для создания формы и для перевода. |
Автор: shizoid 7.8.2013, 15:22 | ||
Я этот фрагмент кода имел ввиду, на сколько я помню множественное наследование классов использующищ QObject запрещается.
|
Автор: bsa 7.8.2013, 15:29 |
shizoid, видимо ты слышал звон, но не понял откуда он. Нельзя, чтобы у одного класса было более одного предка, наследующего QObject. А больше ограничений нет. Обычное наследование - по сути это включение членов предка в тело наследника. А вот когда появляются виртуальные методы или виртуальное наследование, то тут все усложняется. В данном случае для Ui::Form применяется простое наследование. Мне только одно непонятно, почему оно публичное (не критично, конечно, но должно быть приватным). |
Автор: akizelokro 8.8.2013, 13:12 |
А почему после Q_OBJECT нет точки с запятой? Добавлено через 1 минуту и 34 секунды Или оно в Qt так принято? ![]() |
Автор: bsa 8.8.2013, 14:20 |
akizelokro, так принято. Потому что Q_OBJECT это "страшный" макрос, добавляющий функции, необходимые для работы сигналов и слотов. |