在以下代码中声明迭代器 i 的正确方法是什么?
#include <iostream>
#include <vector>
using namespace std;
template<class Mat>
void f(const Mat& mat)
{
typedef typename Mat::value_type::iterator itr;
//itr i = (mat.begin())->begin(); //This Line Gives an error
typeof((mat.begin())->begin()) i = (mat.begin())->begin();
}
int main()
{
vector<vector<int> > vvi;
f(vvi);
return 0;
}