Russian Qt Forum
Ноябрь 23, 2024, 07:43 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Вопрос про подгружаемые классы  (Прочитано 5691 раз)
onlik
Гость
« : Февраль 05, 2009, 20:01 »

Такая проблема, прочитал что лучше инклудить классы в cpp файлах в h если нужно объявлять класс class QClass например, если нужно.

Вот код, но выдается ошибка что QClass не найден...
Если пропишу #include <QClass> в h файле, тогда все окей...
Если убираю const QClass &class = QClass::Any, также работает.
В чем проблема?

Код:
my.h
------
class QClass

class My
{
public:
     My(quint16 port, const QClass &class = QClass::Any);
     ~My();
};


my.cpp
-------------
#include <QClass>
Записан
BRE
Гость
« Ответ #1 : Февраль 05, 2009, 20:11 »

В этом случае нужно использовать #include <QClass>, т.к. компилятору нужно понять что такое QClass::Any.
или не использовать значение по умолчанию:

my.h
Код
C++ (Qt)
class QClass; // Не забываем ;
 
class My
{
public:
My( quint16 port, const QClass &class );
};
 
Записан
onlik
Гость
« Ответ #2 : Февраль 05, 2009, 21:02 »

Спасибо, понял!
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #3 : Февраль 05, 2009, 21:04 »

>>или не использовать значение по умолчанию:
если быть точнее, то не использовать ни одного члена класса, который предварительно объявлен и не наследоваться от него.
Записан

Юра.
AAXEE
Гость
« Ответ #4 : Февраль 19, 2009, 11:10 »

Кстати, никак не могу понять для чего нужно в хэдере писать
class AnyClass ;
Что можно почитать на эту тему? Или в двух словах, если можно.
Записан
Karl-Philipp
Гость
« Ответ #5 : Февраль 19, 2009, 11:16 »

прописывая class AnyClass, мы имееем возможность объявлять ссылки и указатели без включения соответствующего заголовка в файл.
Поправьте, если я не прав Улыбающийся
Записан
spirit
Гость
« Ответ #6 : Февраль 19, 2009, 11:27 »

forward declaration.
« Последнее редактирование: Февраль 19, 2009, 11:29 от spirit » Записан
AAXEE
Гость
« Ответ #7 : Февраль 19, 2009, 13:33 »

Спасибо!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.069 секунд. Запросов: 23.