使用const&打印出列表

wzs*_*sun 0 c++ const reference list

嘿,我有一个包含值的列表,我想用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 << " ";
    }
}
Run Code Online (Sandbox Code Playgroud)

如果你也可以通过错误背后的逻辑,那就太酷了,谢谢.

Cod*_*ice 6

由于您list被声明为const,您需要使用const_iterator:

list<DATA_TYPE>::const_iterator pos
Run Code Online (Sandbox Code Playgroud)

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

  • @wzsun如果你得到垃圾,你有另一个与迭代器工作方式无关的错误. (4认同)