title: NS_ENUM gives compiler warning about forward references
body: <p>Im using the <a href="http://nshipster.com/ns_enum-ns_options/" rel="nofollow">spiffy new</a> NS_ENUM to try and define an enum in my objective-c iOS project.</p>
  
  <p>I'm declaring the NS_ENUM in the header of a class like so:</p>
  
  <pre><code>NS_ENUM(int, SomeEnumType){
      SomeEnumType1,
      SomeEnumType2,
      SomeEnumType3,
      SomeEnumType4
  };
  
  @interface Issue : NSObject
  ....
  </code></pre>
  
  <p>And im getting the compiler warning:</p>
  
  <blockquote>
    <p>ISO C forbids forward references to 'enum' types</p>
  </blockquote>
  
  <p>Now if i define the enum the (slightly) older traditional way like so:</p>
  
  <pre><code>typedef enum{
      SomeEnumType1,
      SomeEnumType2,
      SomeEnumType3,
      SomeEnumType4
  }SomeEnumType;
  
  @interface Issue : NSObject
  ....
  </code></pre>
  
  <p>in exactly the same place in the code the issue goes away. What am i doing wrong with NS_ENUM?</p>
  
  <p>EDIT: </p>
  
  <p>I corrected it by adding the typedef but its still giving a warning. </p>
  
  <p>I have turned on the pedantic compiler warnings. Is this just a case where its being too pedantic or is there a correct way that im missing?</p>