![]() |
|
|
![]()
|
|
| avn |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 25.10.2005 Репутация: нет Всего: нет |
Доброго времени суток!
Как оказалось, свои типы данных - typedef, enum, class - желательно регистрировать как Q_DECLARE_METATYPE (Type). Это потом поможет избежать массу нервов при сигнально-слотовых соединениях между разными потоками. Допустим, я создаю просто класс:
Все просто и понятно. Но вот если A стал шаблоном? Я попробовал сделать так:
Сразу получил по шапке с кучей ругани. Пробую Q_DECLARE_METATYPE (A<T>) - не легче. Попробовал вместо T подставить чего-нибудь внятное:
Да, другое дело, порядок. Но это уже не есть чистый шаблон, а его специализация. Вопрос к знатокам: можно ли уговорить Qt зарегистрировать шаблон? Подозреваю, что нельзя, т. к. "moc does not handle all of C++. The main problem is that class templates cannot have signals or slots"... |
||||||
|
|||||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
> Подозреваю, что нельзя, т. к. "moc does not handle all of C++. The main problem is that class templates cannot have signals or slots"
Ну... Ты, собственно, сам нашёл ответ... В общем - нет. Нельзя. Это сообщение отредактировал(а) borisbn - 27.12.2013, 09:02 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |