2010-07-08 25 views

回答

-1

Qt的文档,

T QQueue::dequeue() 

指出,删除队列头项目,并返回。这个函数假定队列不是空的。

希望它能帮助。

编辑:

如果你想从一个特定的索引中删除项,请使用QList代替。

有喜欢的功能,

void QList::removeAt (int i) 

T QList::takeAt (int i) 

,你可以使用,这取决于你的需要..

+2

如果知道downvote的原因,这很好。 – liaK 2010-07-08 11:53:31

3

作为在QQueue基于并会像一个std :: queue,这是一个FIFO(先进先出容器),似乎你可能需要重新考虑你对QQueue的使用。

要删除的头项,请使用

QQueue::dequeue() 

为I(使用的QList继承功能)

QQueue::removeAt(int i) 

在索引中删除项目如果你需要做到这一点,重新审视自己的QQueue使用请。

(参见Qt文档)

+0

它不会删除最后一个项目。它将删除队列头部的项目。从Qt文档中,dequeue()相当于QList :: takeFirst().. http://doc.trolltech.com/4.5/qqueue.html#dequeue ..它总结起来.. – liaK 2010-07-08 11:56:25

+0

当然更正了。谢谢 – rubenvb 2010-07-08 11:58:25

+0

thnks ..它的作品.... – 2010-07-09 09:40:51

0

QQueue继承QList<T>,所以你可以使用void QList::removeAt(index)继承的方法。

相关问题