• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            zhonghua

            C++博客 首頁 新隨筆 聯系 聚合 管理
              72 Posts :: 1 Stories :: 4 Comments :: 0 Trackbacks

            因為 Q_DECLARE_METATYPE 是一個宏。借用一句話:“宏是萬惡之源”。什么惡呢?就是,如果它的參數當中有逗號",",會被當成參數分隔符。


            所以,當你試圖這么寫:

            1. Q_DECLARE_METATYPE(QMap<QString, bool>);  

            你就會發現編譯不過,并且抓狂了。


            解決方法嘛,當然很簡單:參照Q_DECLARE_METATYPE的宏定義,自己把它展開,編譯器就不會再犯傻了。


            1. QT_BEGIN_NAMESPACE  
            2. template <>  
            3. struct QMetaTypeId< QMap<QString, bool> >  
            4. {  
            5.     enum { Defined = 1 };  
            6.     static int qt_metatype_id()  
            7.     {  
            8.         static QBasicAtomicInt metatype_id = Q_BASIC_ATOMIC_INITIALIZER(0);  
            9.         if (!metatype_id)  
            10.             metatype_id = qRegisterMetaType< QMap<QString, bool> >("QMap<QString, bool>",  
            11.                 reinterpret_cast< QMap<QString, bool> *>(quintptr(-1)));  
            12.         return metatype_id;  
            13.     }  
            14. };  
            15. QT_END_NAMESPACE 
            posted on 2012-03-30 13:13 米米 閱讀(1371) 評論(0)  編輯 收藏 引用 所屬分類: qt
            精品久久久久中文字幕一区| 日韩久久久久中文字幕人妻| 色综合合久久天天给综看| 99热都是精品久久久久久| 51久久夜色精品国产| 99久久99久久精品国产| 久久久久这里只有精品| 囯产极品美女高潮无套久久久| 99久久中文字幕| 久久久久99精品成人片牛牛影视| 99久久无色码中文字幕人妻| 久久综合亚洲欧美成人| 大香网伊人久久综合网2020| 久久久久久伊人高潮影院| 久久精品国产秦先生| 亚洲伊人久久综合影院| 久久综合欧美成人| 久久久久久久精品妇女99| AA级片免费看视频久久| 久久狠狠高潮亚洲精品| 久久99精品国产麻豆婷婷| 亚洲AV无码久久| 久久亚洲国产精品123区| 久久精品国产亚洲精品2020| 亚洲精品成人久久久| 久久精品免费大片国产大片| 久久99免费视频| 久久精品天天中文字幕人妻| 久久乐国产综合亚洲精品| 国产成人久久777777| 人妻无码中文久久久久专区| 亚洲精品无码久久毛片| 狠狠久久综合伊人不卡| 一级做a爰片久久毛片人呢| 久久久老熟女一区二区三区| 久久午夜福利无码1000合集| 亚洲精品午夜国产va久久| 伊人久久大香线蕉综合网站| 久久精品国产国产精品四凭| 伊人久久免费视频| 精品久久久久久无码中文字幕|