title: duplicate typedef error
body: <pre><code>#pragma once
  #ifndef PRIQUE_H
  #define PRIQUE_H
  
  typedef struct queue_node
  {
      int val;
      int priority;
      struct queue_node *link;
  }
  
  typedef struct p_queue
  {
      int size;
      queue_node *first;
  }
  </code></pre>
  
  <p>This is my code for header file. When I am running the main program, I am getting error of duplicate typedef. How to fix it. Initially, I had included all the code in a single file but expecting making a header file would fix the issue I made this and the respective definition file. Please tell me where I am wrong and why is this issue occurring?</p>