我做了一个char列表的 vector

vector<list<char>> vect;

而且我不得不遍历 vector 以打印列表的所有第一个元素。
我已经做好了
for (auto i = vect.begin(); i != vect.end(); i++)
    {
        cout<<*i.front();
    }

给出错误,没有函数.front()完整的错误如下
error: ‘class __gnu_cxx::__normal_iterator<std::__cxx11::list<char>*, std::vector<std::__cxx11::list<char> > >’ has no member named ‘front’
         cout << *i.front();

谁能帮我解决这个错误?

最佳答案

行中

cout<<*i.front();

编译器尝试获取( i.front() )的值。因此,在获取错误迭代器的地方,我没有名为front()的成员。
i->迭代器指针*i->在这种情况下,迭代器列表中的值
i.front()->不是迭代器的成员(*i).front()->列表的开头

关于c++ - 无法在列表 vector 中使用列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58280606/

10-13 07:00