-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 に答える