Вопрос на засыпку: у меня есть вот такая шаблонная функция

template <typename T, typename Func> void hook(QObject *receiver, Func &&f);, и определение этой функции выглядит так: template <typename T, typename Func>
void IObjectPool::hook(QObject *receiver, Func &&f)
{
for (auto *obj : findAll<T>())
f(obj);
connect(this, &IObjectPool::objectAdded, receiver, [=](auto object) {
if (auto obj = qobject_cast<T*>(object))
f(obj);
});
}
до qt5.15 на версии qt.5.12.8 этот код работал стабильно и выполнение связки сигнала происходило корректно, сейчас тоже всё корректно конектиться, но только под линукс (убунту)!!! Под виндой пишет вот эту дичь QObject::connect: signal not found in ObjectPool, я не могу понять с какого перепуга коннект не проходит в шаблонной функции и куда копать?

6 ответов

3 просмотра

Ну яб сказал надо копать в раздел взаиимосвязи IObjectPool и ObjectPool.. мне кажется не в темплейте дело

Schmutziger Mund-🥋 Автор вопроса
Юрий Александров
Ну яб сказал надо копать в раздел взаиимосвязи IOb...

Но ведь под ubuntu всё стабильно, и взаимосвязть всего одна в одной функции ObjectPool'a, есть функция add которая эмитит сигнал

а зачем определение шаблона вынесено в cpp файл (я правильно понял?)?

Schmutziger Mund-🥋 Автор вопроса
Anatoly Shirokov
а зачем определение шаблона вынесено в cpp файл (я...

Не, оно не вынесено) вы что, оно в хидере лежит

Похожие вопросы

Обсуждают сегодня

кто тебе сказал, что она угроблена? многие только начинают жизнь, после увольнения из Гугла, Майкрософта, Оракла,...
Alex Kom
9
И еще, я вчера чутка запутался, показы это типо рекламные посты или рассылки, а приветы?
Ilya Shvechikov
5
В альтернативе у нас сидеть горбатиться на дядю в галерах, пока не помрешь или пока тебя не заменят более молодым сотрудником, который готов гребсти в два раза дешевле. Вот и ...
Кабан Кабанов
7
По какой цене продают скрипты анонимного чата? Я за 500 даже готов 😂😂😂
Ilya Shvechikov
7
Или ты челендж хочешь?
Ilya Shvechikov
7
Так а кто может спарсить всех участников чата? Идишники
Magic
18
сори за оффтоп, но просто в тему https://www.youtube.com/watch?v=8Q_YfcpgdGU
Alex Kom
5
да пофиг на капчу зашел в чат и молчишь при этом ты нонейм? пошел вон
Magic
17
Ребят подскажите пж) Есть ajax функция, в ней написал: set_time_limit(300); Но ограничение все равно 60 секунд как в настройках php.ini Может в октябре как то подругому устана...
Sem
1
делал кто-то на питоне аппки под ведроид? Я прост думаю с киви начать но чето такое, мб есть более простые способы сбилдить
ռɛ ʋɛʀʍօʀɛ
5
Карта сайта