Qt: Возвращаемое значение сигнала работает, почему официальный документ говорит, что это невозможно / запрещено?

Документация Qt говорит, что возврат значений сигналов невозможен:

Signals are automatically generated by the moc and must not be implemented in the .cpp file. They can never have return types (i.e. use void).

Связанные вопросы SO:

Can Qt signals return a value? Qt: meaning of slot return value?

Однако из моих испытаний (Qt 4.8.1) я могу сказать, что возвращаемые значения работают:

If signal / slot are in the same thread, ConnectionType may be Qt::AutoConnection With signal / slot in different threads I need to use Qt::BlockingQueuedConnection

Так что в моем коде я называю сигнал

QString dp = emit WscAircrafts::signalAircraftsJsonArray();

и сигнал МОК возвращаетQString,

QString _t0;
void *_a[] = { const_cast<void*>(reinterpret_cast<const void*>(&_t0)) };
QMetaObject::activate(this, &staticMetaObject, 0, _a);
return _t0;

Это слот МОК, где он проходит обратноQString

case 4: { QString _r = _t->slotAircraftJsonArray();
  if (_a[0]) *reinterpret_cast< QString*>(_a[0]) = _r; }  break;

Все это кажется довольно простым, так почему это противоречие с документацией? Где будет проблема с использованием возвращаемого значения? Как уже говорилось, в моем коде это, кажется, работает.

Ответы на вопрос(1)

Ваш ответ на вопрос