编译错误,上面写着'std :: basic_string <chart,_traits,=“”_ alloc =“”> </chart,>

时间:2013-06-28 06:56:35

标签: c++ c++11 iterator codeblocks

问题是迭代段落直到满足空行。

这是代码,它给了我标题中提到的错误

#include <iostream>
#include <string>
#include <vector>
int main()
{
    using namespace std;
    string word;
   vector<string>text;
   while(cin>>word)
   {
       text.push_back(word);
   }
   for(auto it = text.begin(); it != text.end() && !(*it).empty; it++)
    {
        cout<<*it<<endl;
    }
}

导致错误的原因是什么?修复是什么?

我是初学者,刚开始使用迭代器。

1 个答案:

答案 0 :(得分:3)

empty是一个功能。

#include <iostream>
#include <string>
#include <vector>
int main()
{
    using namespace std;
    string word;
   vector<string>text;
   while(cin>>word)
   {
       text.push_back(word);
   }
   for(auto it = text.begin(); it != text.end() && !(*it).empty(); it++)
    {
        cout<<*it<<endl;
    }
}