Compartir a través de


Error del compilador C2384

'member': no se puede aplicar __declspec(thread) a un miembro de una clase WinRT o administrada

El modificador thread __declspec no se puede utilizar en un miembro de una clase administrada o de Windows Runtime.

El almacenamiento local para el subproceso estático solo puede usarse con DLL cargadas estáticamente; la DLL debe cargarse de manera estática al iniciarse el proceso. Windows Runtime no admite el almacenamiento local para el subproceso.

La siguiente línea genera C2384 y muestra cómo corregirlo en 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;
};