根据文档,插槽的返回值没有任何意义。
然而,在生成的 moc 代码中,我看到如果一个插槽返回一个值,则该值用于某事。知道它有什么作用吗?
这是我正在谈论的一个例子。这取自 moc 生成的代码。'message' 是一个不返回任何内容的插槽,'selectPart' 被声明为返回 int。
case 7: message((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
case 8: { int _r = selectPart((*reinterpret_cast< AppObject*(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])));
if (_a[0]) *reinterpret_cast< int*>(_a[0]) = _r; } break;