Непонятная жалоба gcc на использование Qt4 setValidator - PullRequest
1 голос
/ 26 августа 2010

Мы озадачены тем, почему 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 хочет получать константный QValidator *, и это то, что мы делаем в этой одной строке источника. Почему gcc хочет преждевременно увидеть символ ')' и считает, что мы используем setValidator для int *?

Конечно, "это скомпилировано нормально вчера, и мы ничего не изменили. Действительно!"

1 Ответ

5 голосов
/ 26 августа 2010

Это действительно просто и понятно, я знаю, но вы #include <QDoubleValidator>?
"ожидали спецификатор типа раньше?«почти всегда означает, что определение типа не отображается.

...