我試圖用一個名爲RoutineItem的自定義對象來使用QVector。帶有具有參數的自定義對象的QVector?
不過如果給出這樣的錯誤:
C:\Qt\5.2.1\mingw48_32\include\QtCore\qvector.h:265: error: no matching function for call to 'RoutineItem::RoutineItem()'
這是RoutineItem構造:
RoutineItem(QString Name,int Position,int Time,bool hasCountdown = false,bool fastNext = false);
如果我刪除所有構造函數的參數我不再得到這個錯誤。 如何將QVector與具有參數的自定義對象一起使用?
與標準容器一樣,您需要爲QVector提供默認的可構造類型。 –
@πάνταῥεῖC++ 11標準容器不需要默認構造項目。項目上的需求位置特定於您如何使用容器。例如,如果您可以使用'emplace_'而不是'push_'方法,'std :: list'甚至不需要可複製項目。 –