컴파일러 오류 C2178
'identifier'는 'specifier' 지정자를 사용하여 선언할 수 없습니다.
mutable
지정자가 선언에 사용되었지만 이 컨텍스트에서는 지정자가 허용되지 않습니다.
mutable
지정자는 클래스 데이터 멤버의 이름에만 적용할 수 있으며 선언된 const
이름이나 static
참조 멤버에 적용할 수 없습니다.
예시
다음 샘플에서는 C2178이 발생할 수 있는 방법과 이를 해결하는 방법을 보여줍니다.
// 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