Небольшие проблемы с QSharedPointer и Forward Declaration |
Здравствуйте, гость ( Вход | Регистрация )
Небольшие проблемы с QSharedPointer и Forward Declaration |
SABROG |
26.5.2010, 12:16
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Проблема возникает из-за Forward Declaration тут:
MOC еще не сгенерил .cpp файлы и размер класса еще не известен. Как я понял размер класса нужен QSharedPointer для удаления указателя, но например в таком случае все великолепно: main.cpp
Проблемные исходники: Widget.h
Widget.cpp
Предупреждения компилятора
Прикрепленные файлы
|
|
|
DEADHUNT |
27.5.2010, 7:42
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: 2 |
Первый тем, что std::tr1::shared_ptr. Второй тем, что boost. Ставить дополнительную библиотеку, когда есть QSharedPointer, нафига? tr1 уже входит в C++0x. boost.smart_pointers ничего не требует кроме заголовочных файлов и темболее многие библиотеки из boost добавляются в стандарт. предполагаю что и эти шаблоны не будут работать с forward declaration. будут. Насколько я понмю - шаблоны нельзя инициализировать неизвестным классом... undefined behavior. |
|
|
DIMEDROLL |
27.5.2010, 11:51
Сообщение
#3
|
Участник Группа: Участник Сообщений: 165 Регистрация: 28.9.2008 Из: Киев Пользователь №: 304 Спасибо сказали: 23 раз(а) Репутация: 0 |
|
|
|
Текстовая версия | Сейчас: 28.4.2024, 15:38 |