Erro do Compilador C2483
"identifier": um objeto com construtor ou destruidor não pode ser declarado "thread"
Essa mensagem de erro ficou obsoleta no Visual Studio 2015 e versões posteriores. Nas versões anteriores, as variáveis declaradas com o atributo thread
não podem ser inicializadas com um construtor ou outra expressão que requeiram avaliação do tempo de execução. Uma expressão estática é necessária para inicializar os dados do thread
.
Exemplo
A amostra a seguir gera o erro C2483 no Visual Studio 2013 e versões anteriores.
// C2483.cpp
// compile with: /c
__declspec(thread) struct A {
A(){}
~A(){}
} aa; // C2483 error
__declspec(thread) struct B {} b; // OK