Compiler Error C2071


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on

The latest version of this topic can be found at Compiler Error C2071.

identifier' : illegal storage class

identifier was declared with an invalid storage class. This error can be caused when more than one storage class is specified for an identifier, or when the definition is incompatible with the storage class declaration.

To fix this issue, understand the intended storage class of the identifier—for example, static or extern—and correct the declaration to match.

The following sample generates C2071.

// C2071.cpp  
// compile with: /c  
struct C {  
   extern int i;   // C2071  
struct D {  
   int i;   // OK, no extern on an automatic  

The following sample generates C2071.

// C2071_b.cpp  
// compile with: /c  
typedef int x(int i) { return i; }   // C2071  
typedef int (x)(int);   // OK, no local definition in typedef