Teilen über


Compilerfehler C2178

identifier“ kann nicht mit dem Bezeichner „specifier“ deklariert werden.

Bemerkungen

Ein mutable Bezeichner wurde in einer Deklaration verwendet, der Bezeichner ist jedoch in diesem Kontext nicht zulässig.

Der mutable Bezeichner kann nur auf Namen von Klassendatenmbern angewendet werden und kann nicht auf deklarierte const oder deklarierte Namen staticangewendet werden und kann nicht auf Referenzmmber angewendet werden.

Beispiel

Das folgende Beispiel zeigt, wie C2178 auftreten kann und wie sie behoben werden kann.

// 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