Freigeben über


Compilerwarnung (Ebene 1) C4042

'Identifier': hat eine ungültige Speicherklasse.

Die angegebene Speicherklasse kann in diesem Kontext nicht mit diesem Bezeichner verwendet werden. Der Compiler verwendet stattdessen die Standardspeicherklasse:

  • extern, wenn der Bezeichner eine Funktion ist.

  • auto, wenn der Bezeichner ein formaler Parameter oder eine lokale Variable ist.

  • Keine Speicherklasse, wenn der Bezeichner eine globale Variable ist.

Diese Warnung kann durch Angabe einer anderen Speicherklasse als register in einer Parameterdeklaration verursacht werden.

Im folgenden Beispiel wird C4042 generiert.

// C4042.cpp
// compile with: /W1 /LD
int func2( __declspec( thread ) int tls_i )    // C4042
// try the following line instead
// int func2( int tls_i )
{
   return tls_i;
}