• 欢迎浏览“String me = Creater\忠实的资深Linux玩家;”,请文明浏览,理性发言,有侵犯你的权益请邮件我(creater@vip.qq.com).
  • 把任何的失败都当作一次尝试,不要自卑;把所有的成功都想成是一种幸运,不要自傲。
  •    4年前 (2014-05-15)  QT |   抢沙发  11 
    文章评分 0 次,平均分 0.0

    在使用Qt编写一个状态指示灯时,定义了类中嵌套的结构体,使用了如下的代码:

    struct HLed::Private
    {
    public:
        enum LightState{ON, OFF, ERR};
        Private(): color(Qt::green), lightState(ON){}
        //灯的颜色
        QColor color;
        //灯的状态
        LightState lightState;
    };

    编译提示以下错误:

    error: C2614: “HLed::Private”: 非法的成员初始化:“lightState”不是基或成员

    对于一个以C++作为母语的人来说,我确实不能发现哪里有问题。在我重敲代码后,奇迹般的错误没有了,对比前后的异同,发现是注释引起,修改成这样就行了

    struct HLed::Private
    {
    public:
        enum LightState{ON, OFF, ERR};
        Private(): color(Qt::green), lightState(ON){}
        QColor color;
        LightState lightState;
    };

    结论:Qt对中文的兼容性还不太好,在程序中使用中文时,当字数为奇数时会出现乱码,不得不将字数凑偶,有时候甚至偶数个字数也会出现错误。

     

    除特别注明外,本站所有文章均为String me = "Creater\忠实的资深Linux玩家";原创,转载请注明出处来自http://unix8.net/home.php/3494.html

    关于

    发表评论

    暂无评论

    切换注册

    登录

    忘记密码 ?

    切换登录

    注册

    扫一扫二维码分享