title: Create an instance of a class in the class itself
body: <p>I am new to C++ and have a question:</p>
  
  <p>Compare following code:</p>
  
  <pre><code>class Node { 
  public:
      int data;
      Node* x;
  };
  </code></pre>
  
  <p>and</p>
  
  <pre><code>class Node { 
  public:
      int data;
      Node x;
  };
  </code></pre>
  
  <p>I know the second part of code can't pass compile. But I want to know the reason.</p>
  
  <p>Is it related to memory allocation or just syntax regulation?</p>
  
  <p>I would be appreciate if someone can solve my question.</p>