variable `xxx' has initializer but incomplete type


錯誤:variable `xxx' has initializer but incomplete type 
原因:xxx對應的類型沒有找到,只把xxx聲明了但是沒給出定義。編譯器無從確認你調用的構造函數是什么,在哪兒
一般是沒有包含定義xxx的頭文件。

比如:

 1     MyClass theObj;
 2     const QMetaObject* metaObj = theObj.metaObject();
 3     //1.遍歷類的屬性
 4     int propertyCnt = metaObj->propertyCount();
 5     for ( int i = 0; i < propertyCnt; ++ i )
 6     {
 7         QMetaProperty oneProperty = metaObj->property(i);
 8         std::cout << " name: " << oneProperty.name();
 9         std::cout << " type: " << QVariant::typeToName( oneProperty.type()) << "\n";
10     }

不包含頭文件的話會報一下錯誤:

使用#include <QMetaProperty>即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM