title: Expected constructor, destructor, or type conversion before '*' token
body: <p>I honestly have no idea why this is happening. I checked, double-checked, and triple-checked curly braces, semicolons, moved constructors around, etc. and it still gives me this error.</p>
  
  <p>Relevant code follows.</p>
  
  <p>BinTree.h</p>
  
  <pre><code>#ifndef _BINTREE_H
  #define _BINTREE_H
  
  class BinTree
  {
  private:
      struct Node
      {
          float data;
          Node *n[2];
      };
      Node *r;
  
      Node* make( float );
  
  public:
      BinTree();
      BinTree( float );
      ~BinTree();
  
      void add( float );
      void remove( float );
  
      bool has( float );
      Node* find( float );
  };
  
  #endif
  </code></pre>
  
  <p>And BinTree.cpp</p>
  
  <pre><code>#include "BinTree.h"
  
  BinTree::BinTree()
  {
      r = make( -1 );
  }
  
  Node* BinTree::make( float d )
  {
      Node* t = new Node;
      t-&gt;data = d;
      t-&gt;n[0] = NULL;
      t-&gt;n[1] = NULL;
      return t;
  }
  </code></pre>