2010-10-12 128 views
0

我使用基於std:list的堆棧。現在,我努力使功能顯示來自該堆棧的所有元素:列表迭代器錯誤

我試圖聲明迭代器:

void show_elements() 
{ 
    list<T>::iterator it; 
} 

,但我得到的錯誤:錯誤:依賴名「的std ::目錄::迭代器'被解析爲非類型,但實例化產生一個類型

有什麼問題?

謝謝。

+0

標準庫具有'的std :: stack',它提供了一個堆棧接口。如果你確實想出於任何原因編寫你自己的,請考慮使用其他序列容器之一('vector'或'deque');除了幾個使用場景外,它們都比'list'提供更好的性能特徵。 – 2010-10-12 05:32:50

回答

7

You need atypename:

typename list<T>::iterator it; 
+0

是的,非常感謝,它是有用的 – 0xAX 2010-10-12 05:31:31