使用const& amp;打印出列表

时间:2012-10-15 16:54:29

标签: c++ list reference const

嘿我有一个包含值的列表,我想用const&打印出来。我可以通过引用它来做到这一点但是当我把const放入时我得到一个错误。我不确定为什么会这样,因为代码不会编辑列表。这是我的代码。

// Prints out the list declared
template<typename DATA_TYPE>
    void print(const list<DATA_TYPE> &myList){
    for(list<DATA_TYPE>::iterator pos = myList.begin(); pos != myList.end(); pos++){
        DATA_TYPE currentWord = *pos;
        cout << currentWord << " ";
    }
}

如果您还可以查看错误背后的逻辑,那就太酷了,谢谢。

2 个答案:

答案 0 :(得分:6)

由于您的list被声明为const,因此您需要使用const_iterator

list<DATA_TYPE>::const_iterator pos

P.S。为了将来参考,请复制并粘贴您在问题中遇到的任何编译器错误。

答案 1 :(得分:2)

使用const_iterator,而不是迭代器。