此代碼:無效使用不完全類型的 '結構QDeclarativeProperty'
QGraphicsObject *object=rootObject();
object->setProperty("width", 100);
QDeclarativeProperty(object, "width").write(100);
提供了以下錯誤:
Invalid use of incomplete type 'struct QDeclarativeProperty'
此代碼:無效使用不完全類型的 '結構QDeclarativeProperty'
QGraphicsObject *object=rootObject();
object->setProperty("width", 100);
QDeclarativeProperty(object, "width").write(100);
提供了以下錯誤:
Invalid use of incomplete type 'struct QDeclarativeProperty'
添加
#include <QDeclarativeProperty>
到您的源代碼的頂部。看來,地方在你的代碼時,已經是QDeclarativeProperty
前向聲明,所以編譯器知道它是一個類/結構,但實際的類定義缺失。
下面的源代碼正確通過編譯運行:
#include <QCoreApplication>
#include <QVariant>
#include <QDeclarativeProperty>
int main(int argc, char ** argv) {
QCoreApplication a(argc, argv);
QObject *object = 0; // rootObject();
object->setProperty("width", 100);
QDeclarativeProperty(object, "width").write(100);
}
當你與
class QDeclarativeProperty;
取代#include <QDeclarativeProperty>
您會收到以下編譯時錯誤:
main.cpp: In function 'int main(int, char**)':
main.cpp:11:38: error: invalid use of incomplete type 'struct QDeclarativeProperty'
main.cpp:4:7: error: forward declaration of 'struct QDeclarativeProperty'
可以粘貼確切的,完整的編譯器錯誤輸出? – 2013-02-12 10:57:50