-2

我收到一个错误:“in”尚未声明。在我的 Qt 课上。它位于以显式开头的构造函数行上。

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;
};
4

3 回答 3

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

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

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

于 2013-08-16T11:18:37.683 回答
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
{
};
于 2013-08-16T11:20:37.777 回答
2

改变这个: -

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

explicit InputForm(int ibot, int itop, double dbot, double dtop);
于 2013-08-16T11:21:08.120 回答