1

我正在尝试使用 MinGw 交叉编译一些 Windows 代码。代码相当简单:

标题:

    class DragLabel : public QLabel
    {

        Q_OBJECT

            public:
                DragLabel();
                void fn(QString path, int id, bool small);
    };

cpp: #include "draglabel.h"

    DragLabel::DragLabel()
    {
       /* Snip ... */
    };

    void DragLabel::fn(QString path, int id, bool small)
    {
        (void)d;
    };

示例函数无法编译给我:

错误:“参数”声明中有两种或多种数据类型

对于 fn(QString...) 的声明。[编辑:]对不起,我忘了提到这个错误只有在声明了 bool 变量时才会发生,所以这个函数没有:

void fn(QString path, int id);

工作得很好。

它在 debian linux 下使用 qmake 和 make 编译得很好。

有谁知道这里会发生什么?谢谢

4

1 回答 1

1

这似乎small是 MinGW 的一些扩展关键字(我在标准中找不到它)。根据

当我将所有内容更改为 int 时,它可以工作

small是一些限定词,例如longor signed,它扩展了int声明。

尝试将变量名称从更改small为其他任何名称。

于 2013-03-14T11:11:06.533 回答