Compartir a través de


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