list<int>初始化vector<double>的相关问题

想请教一下大佬们,这是c++的一道课后题
说用list初始化vector
l.begin()类型也不是int呀
应该也不是隐式转型吧
谢谢大家了

#include<cstdio>
#include <list>
#include <iostream>
#include<vector>

using namespace std;


int main()
{
    list<int> l{1,2,3,4,5};

    vector<int> v(l.begin(),l.end());

 for(auto x = v.begin(); x!=v.end() ;x++)
    {
        cout<<*x<<" ";
    }
    cout<<endl;
    return 0;
}

for(auto x = v.begin(); x!=v.end() ;x++)
这里的x是迭代器 iterator<int>,并且重写了星号运算符,不是int