Поделиться через


Ошибка компилятора C2178

"идентификатор" нельзя объявить с помощью описателя "описатель"

Замечания

Описатель 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