Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
"идентификатор" : динамическая инициализация данных thread не разрешена в управляемом коде или WinRT
Замечания
В управляемом или коде WinRT переменные, объявленные с помощью атрибута модификатора класса хранилища __declspec(thread) или описателя класса хранилища thread_local нельзя инициализировать с выражением, требующим оценки во время выполнения. Для инициализации __declspec(thread) или thread_local данных в этих средах выполнения требуется статическое выражение.
Пример
В следующем примере создается C2482 в управляемом коде (/clr) и в коде 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++
Чтобы устранить эту проблему, инициализировать локальное хранилище потока с помощью константы constexprили статического выражения. Выполните отдельную инициализацию для конкретных потоков.