Compartilhar via


Aviso do compilador (nível 1) C4042

'identificador' : tem classe de armazenamento incorreta

A classe de armazenamento especificada não pode ser usada com esse identificador neste contexto. Em vez disso, o compilador usa a classe de armazenamento padrão:

  • extern, se o identificador for uma função.

  • auto, se o identificador for um parâmetro formal ou uma variável local.

  • Nenhuma classe de armazenamento, se o identificador for uma variável global.

Esse aviso pode ser causado pela especificação de uma classe de armazenamento diferente de register numa declaração de parâmetro.

A seguinte amostra gera 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;
}