Partilhar via


Aviso C26495

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
};

Ver também

C26494