Megosztás a következőn keresztül:


C2482 fordítóhiba

"azonosító" : a felügyelt/WinRT-kódban nem engedélyezett "szál" adatok dinamikus inicializálása

Megjegyzések

Felügyelt vagy WinRT-kódban a __declspec(szál) tárosztály módosító attribútumával deklarált változók vagy a thread_local tárosztály-meghatározó nem inicializálhatók olyan kifejezéssel, amely futásidőben kiértékelést igényel. Statikus kifejezésre van szükség az inicializáláshoz __declspec(thread) vagy thread_local az adatokhoz ezekben a futtatókörnyezetekben.

Example

Az alábbi példa C2482-t hoz létre felügyelt (/clr) és WinRT -kódban (/ZW):

// C2482.cpp
// For managed example, compile with: cl /EHsc /c /clr C2482.cpp
// For WinRT example, compile with: cl /EHsc /c /ZW C2482.cpp
#define Thread __declspec( thread )
Thread int tls_i1 = tls_i1;   // C2482

int j = j;   // OK in C++; C error
Thread int tls_i2 = sizeof( tls_i2 );   // Okay in C and C++

A probléma megoldásához inicializálja a szál-helyi tárolót állandó vagy constexprstatikus kifejezés használatával. Minden szálspecifikus inicializálást külön hajthat végre.