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

yourlistは として宣言されている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 に答える