2016-05-17 242 views
0

ハードドライブが壊れてしまったため、すべてをもう一度設定する必要がありました。Qリストの初期化リストによる初期化

問題は以前動作していたコードでエラーが発生していることです。

QList<QColor> colors = { 
    QColor(0, 255, 255, 255), 
    QColor(0, 200, 255, 255), 
    QColor(0, 170, 255, 255), 
    QColor(0, 150, 255, 255), 
    QColor(0, 130, 255, 255), 
}; 

エラー: D:testgis.cpp \ \ DEV \ est_tsd \テスト:19:エラー:C2440: '初期化すると、': 'QListに' ノーコンストラクタに '初期化子リスト' から変換することはできませんがかかることがありますソースタイプ、またはコンストラクタのオーバーロードの解像度があいまいだった

QtはQListで初期化リストをサポートしています。 (キット名:Desktop Qt 5.3 MSVC2013 OpenGL 64bit)私は何が欠けていますか?

助けていただければ幸いです。

+0

DEFINESはエラーを修正する.PROファイルに入れることができますが、これは唯一の回避策です。 –

+0

あなたはどのバージョンのQt5を使用していますか? – Arpegius

+0

私は5.3.2 –

答えて

2

直接リストの初期化ではなく、コピー初期化セマンティックを使用しています。あなたは.PROファイルを持っているかどうかをチェックする必要があります。その後、

CONFIG += c++11 

と使用:

QList<QColor> colors{ 
    QColor(0, 255, 255, 255), 
    QColor(0, 200, 255, 255), 
    QColor(0, 170, 255, 255), 
    QColor(0, 150, 255, 255), 
    QColor(0, 130, 255, 255), 
}; 
+0

を使用していますが、クイックアンサーには感謝していますが、CONFIG + = C++ 11は既に自分のproファイルに追加されています。これを使用すると、同じエラーが表示されます –

0

最後のカンマを削除してください。 それは次のようになります。+ = Q_COMPILER_INITIALIZER_LISTS

QList<QColor> colors = { 
QColor(0, 255, 255, 255), 
QColor(0, 200, 255, 255), 
QColor(0, 170, 255, 255), 
QColor(0, 150, 255, 255), 
QColor(0, 130, 255, 255)}; 
関連する問題