title: type name does not allow storage class to be specified
body: <pre><code>@interface Foo : NSObject
  
  {
      extern int gGlobalVar;   
      int i;
  }
  -(void)setgGlobalVar:(int)val;
  
  @end
  
  
  @implementation Foo
  
  -(void)setgGlobalVar:(int)val
  {  
      i = 5;
      NSLog(@"i = %i", i);
      gGlobalVar = val;
  }
  
  @end
  </code></pre>
  
  <p>I can declare <code>i</code> in interface and use it in implementation without any errors. But I cannot declare a variable of the type <code>extern</code> in interface. Why is this so? Why do I get an error which says that: "Type name does not allow storage class to be specified"?</p>