Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
'identificador' no se puede declarar con el especificador 'especificador'
Observaciones
Se usó un especificador mutable en una declaración, pero el especificador no se permite en este contexto. Solo se puede aplicar a miembros de datos no estáticos, no constantes y no de referencia. Para obtener más información, consulte Miembros de datos mutables.
Se consteval usó un especificador en un destructor, una función de asignación o una función de desasignación.
Ejemplo: mutable
En el ejemplo siguiente se muestra cómo puede producirse C2178 con el mutable especificador y cómo resolverlo:
// 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
Ejemplo: consteval
En el ejemplo siguiente se muestra cómo puede producirse C2178 con el consteval especificador. Para resolver este error, quite todos los consteval especificadores:
// 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
};