は、それが有効なのparamsなしQtでより少ないパラメータでスロットに信号を接続できますか?
QObject::connect(a, SIGNAL(somesig(someparam)), b, SLOT(someslot()));
を呼び出すことですか?それは動作する(ランタイム例外がスローされない)ようだが、私はドキュメント内の参照を見つけることができません。私が見つけたのは、someslotにデフォルトのパラメータがある場合に可能です。この場合有効です。しかし、私のメソッドsomeslotは、デフォルト(この例ではパラメータなし)と同じパラメータを設定していません。
したがって、パラメータを少なくしてスロットに信号を配線することは可能ですか?
これはC++標準にも準拠していますか、それともQtごとに動作することが保証されている機能ですか?少なくともC言語では、ISO/IEC 9899:TC2 §6.5.2.2p6でUBにつながります。 – Kamajii
@Kamajii:スロット呼び出しは直接関数呼び出しではありません。 UBは存在しません。Qtは関数を正しく呼び出します。 – Mat
もちろん、通常の呼び出し(+キュー接続など)だけのスロット呼び出しです。シグナルが最後に自動生成(moc) 'qt_static_metacall'メンバーに到達すると、非常に問題が発生します。 – Kamajii