Partilhar via


Erro do compilador C2384

'member' : não é possível aplicar __declspec(thread) a um membro de uma classe gerenciada ou WinRT

Observações

O modificador de thread__declspec não pode ser usado em um membro de uma classe gerenciada ou do Tempo de Execução do Windows.

O armazenamento local de thread estático em código gerenciado só pode ser usado para DLLs carregadas estaticamente — a DLL deve ser carregada estaticamente quando o processo for iniciado. O Tempo de Execução do Windows não oferece suporte ao armazenamento local de threads.

Example

A linha a seguir gera C2384 e mostra como corrigi-lo no código C++/CLI:

// C2384.cpp
// compile with: /clr /c
public ref class B {
public:
   __declspec( thread ) static int tls_i = 1;   // C2384

   // OK - declare with attribute instead
   [System::ThreadStaticAttribute]
   static int tls_j;
};