В документации QT 4.8 говорится, что:
Механизм сигналов и слотов является типобезопасным: сигнатура сигнала должна соответствовать сигнатуре принимающего слота. (На самом деле слот может иметь более короткую подпись, чем сигнал, который он получает, потому что он может игнорировать дополнительные аргументы.) Поскольку подписи совместимы, компилятор может помочь нам обнаружить несоответствия типов.
Однако код вроде:
QObject::connect(&source, SIGNAL(MySignal(QByteArray,QString,bool), &sink, SLOT(MySlot(QByteArray,bool));
выдает ошибку «Несовместимые аргументы отправителя / получателя».
Почему это происходит и где задокументировано, что вам нужно удалить параметры с конца? Я понимаю, что с неявными преобразованиями могут быть проблемы, но я думал, что QT по существу работает с метаданными, которые должны иметь возможность подключать сигнал / слот, как указано выше.