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의 버그 추적기에서 버그를 열어 볼 가치가 있다고 생각합니까? –