void RollsRoyceTab::stateRRChanged(int)
{
stateRR = checkBoxRollsRoyce->checkState();
if(stateRR) emit signal_rr_alg; else emit signal_rr_manual;
}
stateRRステートメントのエラーは、オーバーロードされた関数のアドレスを解決できません
void RollsRoyceTab::stateRRChanged(int)
{
stateRR = checkBoxRollsRoyce->checkState();
if(stateRR) emit signal_rr_alg; else emit signal_rr_manual;
}
stateRRステートメントのエラーは、オーバーロードされた関数のアドレスを解決できません
emit
単なるシンタックスシュガーです。実際には何も実行せず、C++コードから前処理されます。以下emit
は、シグナル名ではなく、有効な関数呼び出しである必要があります。
コードを次のように変更します(シグナルにパラメーターがないと仮定します)。
if(stateRR)
emit signal_rr_alg();
else
emit signal_rr_manual();
(ブール値または列挙型パラメーターを持つ単一の信号の方が少し優れている可能性があることに注意してください。ただし、これらの信号を何に接続するかによって異なります。)