Предположим, у меня есть абстрактный базовый класс Foo
, и я хочу использовать ссылку на него в сигнале:
void FooUpdated(Foo &);
Это не работает, соответствующий слот никогда не вызывается. Есть ли способ добиться этого, или я должен вместо этого использовать указатель (он работает с указателем).
Редактировать - Код
Сигнал (IDecodedFrame
абстрактный):
void ShowFrameSignal( IDecodedFrame & DecodedFrame );
Слот:
virtual void ShowFrame( IDecodedFrame & DecodedFrame );
Соединение:
connect(this, SIGNAL(ShowFrameSignal(libCommon::IDecodedFrame &)),
sink, SLOT(ShowFrame(libCommon::IDecodedFrame &)));
Отладка показывает, что connect возвращает true
.