0

嘿,我有一个包含值的列表,我想使用 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 << " ";
    }
}

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

4

2 回答 2

6

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

list<DATA_TYPE>::const_iterator pos

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

于 2012-10-15T16:56:17.177 回答
2

使用const_iterator,而不是迭代器。

于 2012-10-15T16:55:29.927 回答