《C++ Primer》學習筆記:迭代器介紹。本站提示廣大學習愛好者:(《C++ Primer》學習筆記:迭代器介紹)文章只能為提供參考,不一定能成為您想要的結果。以下是《C++ Primer》學習筆記:迭代器介紹正文
《C++Primer》(第五版)中,3.4.1的例題中使用一個名為text的字符串向量存放文本文件中的數據,輸出text中的內容,剛開始我這樣寫:
#include <iostream> #include <string> #include <vector> #include <iterator> using namespace std; int main(){ string text("name"); for (auto it = text.cbegin(); it != text.cend() && !it ->empty(); ++it) cout << *it << endl; return 0; }
結果報錯:
error: member reference base type 'const char' is not a structure or union
將string text("name");改為 const vector<string> text{"name"};就不會出錯了。需要注意的是加上#include<iterator>頭文件。
原因我想可能是const char*指向string對象,但是卻不含member function,,後面用到的(*it) =text.empty()的class type中需要用到member function,所以才報錯。