Is there a reason your inner list is a pointer? Why not just a list of lists?
As is, you'd need to dereference the outIter iterator, which would give you a list pointer. Then you'd ned to dereference the list pointer and call the member function begin() to get an iterator pointing at the first int. So:
Of course, in the above code, you would never want to use inIter, because the inside list is empty.
inIter = (*outIter)->begin();
If you got rid of the pointer, it would look like this:
list<list<int> > outside;
list<list<int> >::iterator outIter;
outside.push_front(inside); // note that a copy is pushed on to the list
outIter = outside.begin();
inIter = outIter->begin();