显式关键字处的类声明错误

时间:2013-08-16 11:17:57

标签: c++ qt

我收到错误:'in'尚未声明。在我的课堂上。 它位于构造函数行上,以显式。

开头
class InputForm : public QWidget
{
    Q_OBJECT
public:
    explicit InputForm(int ibot, in itop, double dbot, double dtop);
    void displayForm();

public slots:
    void computeResult();
private:
    void setupForm();
    int m_BotI, m_TopI;
    double m_BotD, m_TopD, m_Pay;
    QLineEdit* m_StrEntry;
    QLineEdit* m_IntEntry;
    QLineEdit* m_DoubleEntry;
    QLabel* m_Result;
    QString m_Name;
    static QRegExp s_NameFormat;
};

3 个答案:

答案 0 :(得分:7)

InputForm(int ibot, int itop, double dbot, double dtop);
                  /*  ^  */

错字。 int itop,而不是in itop (您是否真的阅读过错误消息并亲自尝试过?)

请注意,如果您复制了该行,则可能需要更改实现文件中的类型。另请注意,explicit不是必需的,因为此构造函数无论如何都不能用于任何隐式转换。

答案 1 :(得分:2)

  

'in'尚未宣布

explicit InputForm(int ibot, in itop, double dbot, double dtop);
//                           ^^^

编译器不知道in的含义,因为它不是关键字,也不是任何用户定义的符号(如果你还没有这样做)。如果您同意这是int

的拼写错误
explicit InputForm(int ibot, int itop, double dbot, double dtop);
//                           ^^^

或者您可以为in定义类型,例如:

struct in
{
};

答案 2 :(得分:2)

更改: -

explicit InputForm(int ibot, in itop, double dbot, double dtop);

explicit InputForm(int ibot, int itop, double dbot, double dtop);