Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Identifikátor: dynamická inicializace dat vlákna není povolena ve spravovaném kódu nebo kódu WinRT
Poznámky
Ve spravovaném kódu nebo kódu WinRT nelze proměnné deklarované pomocí modifikátoru třídy úložiště __declspec(thread) nebo specifikátor třídy úložiště thread_local nelze inicializovat pomocí výrazu, který vyžaduje vyhodnocení za běhu. K inicializaci __declspec(thread) dat v thread_local těchto prostředích runtime se vyžaduje statický výraz.
Příklad
Následující příklad vygeneruje C2482 ve spravovaném kódu (/clr) a v kódu WinRT (/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++
Pokud chcete tento problém vyřešit, inicializujete místní úložiště vláken pomocí konstanty constexprnebo statického výrazu. Proveďte inicializaci specifickou pro vlákno samostatně.