Error de compilador C2178
'identificador' no se puede declarar con el especificador 'especificador'
Se usó un especificador mutable
en una declaración, pero el especificador no se permite en este contexto.
El especificador mutable
solo puede aplicarse a los nombres de miembros de datos de clase; no puede aplicarse a los nombres declarados como const
o static
y tampoco para hacer referencia a los miembros.
Ejemplo
En el ejemplo siguiente se muestra cómo puede producirse C2178 y cómo corregirlo.
// 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