2
QList<T>
は、初期化リストを使用していくつかのエントリで初期化できます。QQueueを初期化子リストで初期化できません
Queue<T>
と同じことをするとコンパイラエラーが発生します。
例のコードはコンパイルされません:
QList<qreal> someNumbers { 0.0, 0.1 };
QQueue<qreal> someOtherNumbers { 0.0, 0.1 };
コンパイラ出力:
error: no matching function for call to 'QQueue<double>::QQueue(<brace-enclosed initializer list>)'
QQueue<qreal> someOtherNumbers { 0.0, 0.1 };
^
qqueue.h:49:7: note: candidate: QQueue<double>::QQueue()
class QQueue : public QList<T>
^
qqueue.h:49:7: note: candidate expects 0 arguments, 2 provided
qqueue.h:49:7: note: candidate: QQueue<double>::QQueue(const QQueue<double>&)
qqueue.h:49:7: note: candidate expects 1 argument, 2 provided
qqueue.h:49:7: note: candidate: QQueue<double>::QQueue(QQueue<double>&&)
qqueue.h:49:7: note: candidate expects 1 argument, 2 provided
を初期化子リストを使用してQQueue<T>
を初期化するためにいくつかの方法がありますか?
新しいを使用する必要がありますので、
しかし、この例では、それは一時的なリストあなたは、これが実際以来、QTのバグやコンパイラだと思いますかコンストラクタは同じままにする必要がありますか? –
バグかどうかわかりません。 qqueueのソースを読むことによって、私はコンストラクタの削除を見ることを期待しましたが、そうではありません。 –
qtのバグトラッカーでバグを開く価値があると思いますか? –