title: parameter has incomplete type in C
body: <p>I'm writing some code, when I'm trying to test my code till now, I get an error.</p>
  
  <p>Here is my code:</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  
  enum { add = 0, addu, sub, subu } mips_opcode;
  typedef enum mips_opcode mips_opcode_t;
  
  typedef unsigned char byte; // 8-bit int
  
  struct mips {
      char *name;
      byte opcode;
  };
  typedef struct mips mips_t;
  
  void init (mips_t *out, char *name_tmp, mips_opcode_t opcode_tmp) {
      out-&gt;name = name_tmp;
      out-&gt;opcode = (byte)opcode_tmp;
  }
  
  int main (void) {
      pritnf("no error i assume\n");
  
      return 0;
  }
  </code></pre>
  
  <p>and the error in the commmand-line is:</p>
  
  <pre><code>main.c:14:55: error: parameter 3 ('opcode_tmp') has incomplete type
  </code></pre>
  
  <p>Can't I use enums as parameter or what am I doing wrong here?</p>