title: notion of a current object of the enclosing class
body: <p>I m studying Bjarne's book and look for Member Types of Class.<br>
  <strong>A nested class has access to members of its enclosing class, even to private members (just as a
  member function has), but has no notion of a current object of the enclosing class.</strong>
  <br> But why I dont get any error when I build following code.<br></p>
  
  <pre><code>template&lt;typename T&gt;
  class Tree
  {
  private:
      using value_type = T;
  
      class Node
      {
      private:
          Node* right;
          value_type value;
      public:
          void Node_Function(Tree*);
      };
      Node* top;
  
  public:
      void X_f()
      {
  
      }
  };
  
  template&lt;typename T&gt;
  void Tree&lt;T&gt;::Node::Node_Function(Tree* p)
  {
      top = right; //I suppose to get error here like "error : 
                   // no object of type Tree specified"
  }
  </code></pre>