title: "Must use 'struct' tag to refer to type 'node'"
body: <p>What is happening here? I'm getting</p>
  
  <blockquote>
    <p>Must use 'struct' tag to refer to type 'node'</p>
  </blockquote>
  
  <p>on the <code>gx</code> and <code>hx</code> lines of </p>
  
  <pre><code>typedef struct node {
      char * fx; // function
      node * gx; // left-hand side
      char * op; // operator
      node * hx; // right-hand side    
  } node;
  </code></pre>
  
  <p>I've also tried </p>
  
  <pre><code>typedef struct node {
      char * fx; // function
      node * gx; // left-hand side
      char * op; // operator
      node * hx; // right-hand side
  };
  </code></pre>
  
  <p>and </p>
  
  <pre><code>struct node {
      char * fx; // function
      node * gx; // left-hand side
      char * op; // operator
      node * hx; // right-hand side
  };
  </code></pre>
  
  <p>and </p>
  
  <pre><code>typedef struct  {
      char * fx; // function
      node * gx; // left-hand side
      char * op; // operator
      node * hx; // right-hand side
  } node;
  </code></pre>
  
  <p>and</p>
  
  <pre><code>typedef struct treeNode {
      char * fx; // function
      treeNode  * gx; // left-hand side
      char * op; // operator
      treeNode * hx; // right-hand side
  } node;
  </code></pre>
  
  <p>and I get errors for all of those. What is the proper syntax in plain C again?</p>