代码之家  ›  专栏  ›  技术社区  ›  DarenW

困扰GCC关于qt4 setvalidator使用的投诉

  •  1
  • DarenW  · 技术社区  · 14 年前

    我们无法理解为什么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*?

    当然,”这本书昨天编得很好,我们什么都没改。真的!”

    1 回复  |  直到 14 年前
        1
  •  5
  •   zwol    14 年前

    我知道,这是非常基本和明显的,但是你 #include <QDoubleValidator> ?
    “应将类型命名为>“的标识符前应有类型说明符,这几乎总是意味着类型定义不可见。