我们很难理解为什么gcc会在我们的应用中抱怨这一行:
doubleFrom->setValidator(new QDoubleValidator(doubleFrom));
抱怨这些:
error: expected type-specifier before 'QDoubleValidator'
error: expected `)' before 'QDoubleValidator'
error: no matching function for call to 'QLineEdit::setValidator(int*)'
candidates are: void QLineEdit::setValidator(const QValidator*)
(我已经删除了文件,行号的冗长路径。)
是的,setValidator希望得到一个const QValidator *,这就是我们在这一行源代码中所做的。为什么gcc想要过早地看到')',并认为我们正在为setValidator提供一个int *?
当然,“昨天这个编好了,我们没有改变任何东西。真的!”
答案 0 :(得分:5)
这是非常基本和明显的,我知道,但是你#include <QDoubleValidator>
了吗?
“在应该命名类型&gt;的标识符之前的预期类型说明符”几乎总是意味着类型定义不可见。