Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A variável 'variável' não foi inicializada. Sempre inicialize uma variável de membro (type.6).
Observações
Uma variável de membro não é inicializada por um construtor ou por um inicializador. Certifique-se de que todas as variáveis são inicializadas até o final da construção. Para obter mais informações, consulte C++ Core Guidelines Type.6 e C.48.
Esta verificação é intraprocessual. Sempre que há uma chamada de função para uma função de membro não const, a verificação assume que essa função de membro inicializa todos os membros. Esta heurística pode resultar em erros perdidos e está em vigor para evitar resultados falsos positivos. Além disso, quando um membro é passado por referência nonconst para uma função, a verificação assume que a função inicializa o membro.
Nome da análise de código: MEMBER_UNINIT
Exemplo
O exemplo a seguir gera aviso C26495 porque a variável value membro não é inicializada quando um MyStruct objeto é criado.
struct MyStruct
{
int value;
MyStruct() {} // C26495, MyStruct::value is uninitialized
};
Para resolver o problema, você pode adicionar inicialização em classe a todas as variáveis membro.
struct MyStruct
{
int value{}; // empty brace initializer sets value to 0
MyStruct() {} // no warning, MyStruct::value is set via default member initialization
};