title: Node class- am I going crazy?
body: <p>I have a node class which gives me the following compiler error on a simple header declaration. I really cannot see why its being caused?!</p>
  
  <pre><code>1&gt; Node.h(4): error : invalid redeclaration of type name "Node" (declared at line 4)
  1&gt;    class Node{
  1&gt;          ^
  </code></pre>
  
  <p>Header:</p>
  
  <pre><code>using namespace std;
  
  class Node{     //THIS IS LINE 4 
  
      public:
          Node(int val);
          int val;
          Node* l_node;
          Node* r_node;
  
      private:
  
  };
  </code></pre>
  
  <p>Source:</p>
  
  <pre><code>#include "Node.h"
  
  Node::Node(int x) : l_node(nullptr), r_node(nullptr), val(x){
  
  }
  </code></pre>
  
  <p>Do I need a forward declaration or something???</p>