繁体   English   中英

在Linux下使用mingw cross编译器在'parameters'声明中使用两个或多个数据类型

[英]Two or more data types in declaration of 'parameters' using mingw cross compiler under linux

我正在尝试使用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 ...)的声明。 [编辑:]对不起,我忘记提及仅在声明了布尔变量的情况下才会发生此错误,因此该函数没有:

void fn(QString path, int id);

工作正常。

使用qmake和make在debian linux下可以很好地编译。

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

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

当我将所有内容更改为int时

small是一些限定符,例如longsigned ,它扩展了int声明。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM