Compartilhar via


Erro do compilador C2178

O 'identifier' não pode ser declarado com o especificador 'specifier'

Um especificador mutable foi usado em uma declaração, mas o especificador não é permitido neste contexto.

O especificador mutable só pode ser aplicado a nomes de membros de dados de classe e não pode ser aplicado a nomes declarados const ou static e também não pode ser aplicado para fazer referência a membros.

Exemplo

O exemplo a seguir mostra como o C2178 pode ocorrer e como corrigi-lo.

// C2178.cpp
// compile with: cl /c /W4 C2178.cpp

class S {
    mutable const int i; // C2178
    // To fix, declare either const or mutable, not both.
};

mutable int x = 4; // C2178
// To fix, remove mutable keyword