Compartir vía


Advertencia del compilador (nivel 1) C4042

"identifier": tiene una clase de almacenamiento incorrecta

La clase de almacenamiento especificada no se puede usar con este identificador en este contexto. En su lugar, el compilador usa la clase de almacenamiento predeterminada:

  • extern, si identifier es una función.

  • auto, si identifier es un parámetro formal o una variable local.

  • No hay ninguna clase de almacenamiento, si identifier es una variable global.

Esta advertencia puede deberse a la especificación de una clase de almacenamiento distinta de register en una declaración de parámetros.

El ejemplo siguiente genera la advertencia C4042

// 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;
}