STL보면 컨테이너 클레스 내부에 이터레이터가 Inner 클레스 형태로 선언되 있자나요

클레스 형태로 구현하고 템플릿화 시킬려고 하는데

컴파일러 님께서 inner클레스에 private멤버에 접근 할수 없다고 에러를 띄우네요...

리스트 멤버 함수중에 void Insert(iterator itr, int data) <<요놈이 내부에서 이터레이터 클레스의 
private 멤버중에 노드 포인터를 가져다 쓰긴 하거든요...

그런데 public의 inner 클레스이면 inner클레스 내부의 private멤버도 다 접근 가능하다 생각해서 저렇게 쓴건데

왜 에러가 나는지 이게 이해가 잘 안가네요...