'identifier' の宣言に、'specifier' 指定子を使用することはできません
注釈
宣言で mutable 指定子が使用されましたが、このコンテキストでは指定子は許可されていません。 非静的、非 const、および非参照データ メンバーにのみ適用できます。 詳細については、「 変更可能なデータ メンバー」を参照してください。
consteval、割り当て関数、または割り当て解除関数で、指定子が使用されました。
例: mutable
次の例は、 mutable 指定子で C2178 がどのように発生する可能性があり、それを解決する方法を示しています。
// C2178_mutable.cpp
// compile with: /c
struct S
{
mutable const int i; // C2178, remove mutable or const to resolve
};
mutable int x = 4; // C2178, remove mutable to resolve
例: consteval
次の例は、 consteval 指定子で C2178 がどのように発生するかを示しています。 このエラーを解決するには、すべての consteval 指定子を削除します。
// C2178_consteval.cpp
// compile with: /c /std:c++20
#include <cstddef>
struct S
{
consteval ~S() {} // C2178
consteval static void* operator new(std::size_t size); // C2178
consteval static void operator delete(void* ptr); // C2178
};