structを使ってみる。
#include <iostream> #include <vector> using namespace std; template<class T> struct vecvec { typedef vector< vector<T> > type; }; void func(vecvec<int>::type& vv) { for (vecvec<int>::type::const_iterator i = vv.begin() ; i != vv.end() ; i++) { for (vector<int>::const_iterator j = (*i).begin() ; j != (*i).end(); j++) { cout << *j << endl; } } } int main() { vecvec<int>::type vv; vector<int> v1; v1.push_back(1); v1.push_back(2); v1.push_back(3); vector<int> v2; v1.push_back(11); v1.push_back(22); v1.push_back(33); vv.push_back(v1); vv.push_back(v2); func(vv); return 0; }