语句无法解析重载函数Qt / C ++的地址

时间:2013-03-10 18:26:07

标签: qt memory-address

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

错误无法解析重载函数的地址

1 个答案:

答案 0 :(得分:0)

emit只是语法糖 - 它实际上并没有做任何事情,并且是从C ++代码中预处理的。 emit后面的内容必须是有效的函数调用,而不是信号名称。

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

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

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