title: Inner Class access to Outer Class members
body: <p>I'm very confused about this topic, basically I've this code:</p>
  
  <pre><code>template &lt;typename T&gt;
  class SListArray
  {
  public:
      class const_iterator
      {
      public:
          const_iterator(size_t i_currentNode = -1)
              :m_position(i_currentNode)
          {
          }
  
          T const&amp; operator*() const
          {
              return m_data[m_position].element;
          }
  
          // ...
  
      protected:
          size_t m_position;
      };
  
      explicit SListArray();
  
      // ...
  
  private:
      std::vector&lt;Node&lt;T&gt;&gt; m_data;
  
      // ...
  };
  </code></pre>
  
  <p>This code give me a compiler error, so, I would to know if is possible to give the Inner Class the acces to the members of the Outer Class.</p>
  
  <p>Thanks.</p>