语句无法解析重载函数的地址的Qt/C++
问题描述:
void RollsRoyceTab::stateRRChanged(int)
{
stateRR = checkBoxRollsRoyce->checkState();
if(stateRR) emit signal_rr_alg; else emit signal_rr_manual;
}
在STATERR语句错误无法解析重载函数的地址语句无法解析重载函数的地址的Qt/C++
答
emit
只是语法糖 - 它实际上并没有做任何事情,进行预处理出的C++码。接下来的emit
必须是有效的函数调用,而不是信号名称。
更改你的代码(假设没有参数的信号):
if(stateRR)
emit signal_rr_alg();
else
emit signal_rr_manual();
(注意,用布尔或枚举参数有关的信号可能会好一点 - 取决于你连接这些信号是什么虽然)。