-1
void RollsRoyceTab::stateRRChanged(int)
 {
     stateRR = checkBoxRollsRoyce->checkState();
     if(stateRR) emit signal_rr_alg; else emit signal_rr_manual;
 }

error in stateRR statement cannot resolve address of overloaded function

4

1 回答 1

0

emit只是语法糖——它实际上并没有做任何事情,而是从 C++ 代码中预处理出来的。接下来emit必须是有效的函数调用,而不是信号名称。

将您的代码更改为此(假设信号没有参数):

if(stateRR)
  emit signal_rr_alg();
else
  emit signal_rr_manual();

(请注意,带有布尔或枚举参数的单个信号可能会更好一些 - 取决于您将这些信号连接到什么。)

于 2013-03-10T18:51:18.700 回答