Compartir a través de


Errores del compilador de C3200 a C3299

En los artículos de esta sección de la documentación se explican un subconjunto de los mensajes de error generados por el compilador.

Importante

Las herramientas de compilación y los compiladores de Visual Studio pueden notificar muchas clases de errores y advertencias. Después de encontrar un error o una advertencia, las herramientas de compilación pueden realizar suposiciones sobre la intención del código e intentar continuar, por lo que pueden notificar más problemas al mismo tiempo. Si las herramientas hacen una suposición incorrecta, es posible que los errores o advertencias posteriores no se apliquen al proyecto. Cuando corrija problemas en el proyecto, empiece siempre por el primer error o advertencia notificados y recompile a menudo. Una corrección puede hacer que desaparezcan muchos errores posteriores.

Para obtener ayuda con un mensaje de diagnóstico concreto en Visual Studio, seleccione la ventana Salida y pulse la tecla F1. Visual Studio abre la página de documentación para ese error, si existe. También puede usar la herramienta de búsqueda en la parte superior de la página para buscar artículos sobre advertencias o errores específicos. O bien examine la lista de errores y advertencias por herramienta y escriba en la tabla de contenido de esa página.

Nota:

No se documentan todos los errores o advertencias de Visual Studio. En muchos casos, el mensaje de diagnóstico proporciona toda la información disponible. Si ha llegado a esta página cuando ha usado F1 y cree que el mensaje de error o advertencia necesita una explicación adicional, háganoslo saber. Puede usar los botones de comentarios de esta página para notificar un problema de documentación en GitHub. Si cree que el error o la advertencia son incorrectos o ha encontrado otro problema con el conjunto de herramientas, notifique un problema de producto en el sitio de Developer Community. También puede enviar comentarios y notificar errores en el IDE. En Visual Studio, vaya a la barra de menús y seleccione Ayuda > Enviar comentarios > Notificar un problema, o bien envíe una sugerencia desde Ayuda > Enviar comentarios > Enviar una sugerencia. Se han creado algunos temas de error del compilador que el compilador no emite y ahora se redirigen a esta página, alternativamente.

Puede encontrar ayuda adicional sobre errores y advertencias en los foros de Preguntas y respuestas de Microsoft Learn. O bien busque el número de error o advertencia en el sitio de Developer Community de Visual Studio C++. También puede buscar soluciones en Stack Overflow.

Para obtener vínculos a ayuda adicional y recursos de la comunidad, consulte Ayuda y comunidad de Visual C++.

Mensajes de error

Error Mensaje
Error del compilador C3200 'type': argumento de plantilla no válido para el parámetro de plantilla 'parameter', se esperaba una plantilla de clase.
Error del compilador C3201 la lista de parámetros de plantilla de la plantilla de clase 'template' no coincide con la lista de parámetros de plantilla del parámetro de plantilla 'parameter'
Error del compilador C3202 'identifier': argumento predeterminado no válido; se esperaba una plantilla de clase.
Error del compilador C3203 'identifier': una plantilla de clase no especializada o un genérico no pueden usarse como plantilla o argumento genérico para el parámetro genérico o la plantilla 'parameter', se esperaba un tipo real.
Error del compilador C3204 La 'function' no se puede llamar desde un bloque catch
Error del compilador C3205 falta la lista de argumentos para el parámetro de plantilla 'identifier'
Error del compilador C3206 'function': argumento de plantilla o genérico no válido para 'template', falta la lista de argumentos de plantilla o genéricos en la plantilla de clase o genérico 'type'.
Error del compilador C3207 'function': argumento de plantilla no válido para 'parameter', se esperaba una plantilla de clase.
Error del compilador C3208 'function': la lista de parámetros de plantilla para la plantilla de clase 'template' no coincide con la lista de parámetros de plantilla del parámetro de plantilla 'parameter'.
Error del compilador C3209 'type': la clase genérica debe ser una clase administrada o WinRT.
Error del compilador C3210 'identifier': una declaración de acceso solo se puede aplicar al miembro de clase base.
Error del compilador C3211 'function': una especialización explícita está usando sintaxis de especialización parcial; utilice la plantilla template <> en su lugar.
Error del compilador C3212 'function': una especialización explícita de un miembro de plantilla debe ser un miembro de una especialización explícita.
Error del compilador C3213 La clase base 'class' es menos accesible que 'derived_class'.
Error del compilador C3214 'argument': argumento de tipo no válido para el parámetro genérico 'parameter' del genérico 'type', no cumple la restricción 'constraint'.
Error del compilador C3215 'constraint1': el parámetro de tipo genérico ya estaba restringido por 'constraint2'.
Error del compilador C3216 La restricción debe ser un parámetro genérico, no 'type'.
Error del compilador C3217 'parameter': el parámetro genérico no se puede restringir en esta declaración.
Error del compilador C3218 'type': tipo no permitido como restricción.
Error del compilador C3219 'parameter': el parámetro genérico no puede ser restringido por varios elementos sin interfaz: 'type'.
Error del compilador C3220 'interface': la interfaz no puede tener progid.
Error del compilador C3221 'member': no se permiten múltiples atributos 'default' y 'case' en un miembro.
Error del compilador C3222 'function': no se pueden declarar argumentos predeterminados para las funciones miembro de un tipo administrado o WinRT o funciones genéricas.
Error del compilador C3223 'property': no se puede aplicar typeid a una propiedad.
Error del compilador C3224 'type': ninguna clase genérica sobrecargada acepta argumentos de tipo genérico 'number'.
Error del compilador C3225 el argumento de tipo genérico para 'argument' no puede ser 'type'; debe ser un tipo de valor o un identificador a un tipo de referencia.
Error del compilador C3226 No se permiten declaraciones de plantilla dentro de una declaración genérica
Error del compilador C3227 'type': no se puede usar 'operator' para asignar un tipo genérico.
Error del compilador C3228 'function': el argumento de tipo genérico para 'argument' no puede ser 'type', debe ser un tipo de valor o un tipo de controlador.
Error del compilador C3229 'type': no se permiten direccionamientos indirectos en un parámetro de tipo genérico.
Error del compilador C3230 'function': el argumento de tipo de plantilla para 'argument' no puede contener un parámetro de tipo genérico: 'type'.
Error del compilador C3231 'type': el argumento de tipo de plantilla no puede utilizar un parámetro de tipo genérico.
Error del compilador C3232 'parameter': un parámetro de tipo genérico no se puede usar en un nombre completo.
Error del compilador C3233 'type': parámetro de tipo genérico ya restringido.
Error del compilador C3234 una clase genérica no puede derivar de un parámetro de tipo genérico
Error del compilador C3235 'specialization': no se permiten especializaciones explícitas o parciales de una clase genérica.
Error del compilador C3236 no se permite la creación de instancias explícita de un elemento genérico
Error del compilador C3237 'class': una clase genérica no puede ser un atributo personalizado.
Error del compilador C3238 'type': ya se reenvió un tipo con este nombre al ensamblado 'assembly'.
Error del compilador C3239 'type': Common Language Runtime no permite el puntero interior o de anclaje.
Error del compilador C3240 'identifier': debe ser una función miembro abstracta no sobrecargada de 'type'.
Error del compilador C3241 'member': 'interface' no ha introducido este método.
Error del compilador C3242 'function': solo es posible reemplazar de forma explícita las funciones virtuales.
Error del compilador C3243 'interface' no especificó ninguna de las funciones de sobrecarga.
Error del compilador C3244 'member': este método lo incluyó 'interface1', no 'interface2'.
Error del compilador C3245 'function': el uso de una plantilla de variables requiere la lista de argumentos de plantilla.
Error del compilador C3246 'class': no se puede heredar de 'base_class' ya que se ha declarado como 'inheritance'.
Error del compilador C3247 'coclass': una coclase no puede heredar de otra coclase 'base_class'.
Error del compilador C3248 Obsoleto. 'function': la función declarada como 'sealed' no se puede reemplazar por 'function'.
Error del compilador C3249 instrucción o subexpresión ilegales para la función 'constexpr' (obsoleto en Visual Studio 2022).
Error del compilador C3250 'declaration': no se permite la declaración en el cuerpo de la función 'constexpr' (obsoleto en Visual Studio 2022).
Error del compilador C3251 no puede invocar el método de clase base en una instancia de tipo de valor (obsoleto en Visual Studio 2022).
Error del compilador C3252 'function': no se puede reducir la accesibilidad de un método virtual en un tipo administrado o WinRT.
Error del compilador C3253 'function': error con invalidación explícita.
Error del compilador C3254 'function': la clase contiene la invalidación explícita 'function', pero no deriva de una interfaz que contiene la declaración de función.
Error del compilador C3255 'type': no se puede asignar dinámicamente este objeto de tipo de valor en el montón nativo.
Error del compilador C3256 'function': el uso de variables no genera una expresión constante (obsoleta en Visual Studio 2022).
Error del compilador C3257 Obsoleto.
Error del compilador C3258 Obsoleto.
Error del compilador C3259 Las funciones 'constexpr' solo pueden tener una instrucción return (obsoleta en Visual Studio 2022).
Error del compilador C3260 'token': se omiten los tokens no esperados antes del cuerpo de una lambda.
Error del compilador C3261 una función que devuelva una matriz administrada o WinRT debe tener corchetes de matriz al final de la declaración: 'identifier(...) []'
Error del compilador C3262 indexación de matriz no válida: dimensiones numéricas especificadas para el número de dimensión 'type'.
Error del compilador C3263 Obsoleto.
Error del compilador C3264 'identifier': un constructor de clase no puede tener un tipo de valor devuelto.
Error del compilador C3265 no puede declarar un 'managed_construct' administrado en un 'unmanaged_construct' no administrado.
Error del compilador C3266 'function': un constructor de clase debe tener una lista de parámetros 'void'.
Error del compilador C3267 Obsoleto.
Error del compilador C3268 'function': una función genérica o una función miembro de una clase genérica no puede tener una lista de parámetros variable.
Error del compilador C3269 'function': una función miembro de un tipo administrado o WinRT no se puede declarar con '...'.
Error del compilador C3270 'field': el atributo FieldOffset solo puede usarse en el contexto de StructLayout(LayoutKind::Explicit).
Error del compilador C3271 'field': valor 'number' no válido para el atributo FieldOffset.
Error del compilador C3272 'symbol': el símbolo requiere FieldOffset, ya que es un miembro de la estructura o clase type_name definido con StructLayout(LayoutKind::Explicit).
Error del compilador C3273 'keyword': no se permite en el bloque de C++ try.
Error del compilador C3274 finally / __finally sin coincidencia try
Error del compilador C3275 'identifier': no puede usar este símbolo sin calificador (obsoleto en Visual Studio 2022).
Error del compilador C3276 'keyword': al saltar desde el bloque finally/__finally, se produce un comportamiento no definido durante el control de finalización.
Error del compilador C3277 no puede definir una enumeración 'enumeration' dentro del 'type' administrado.
Error del compilador C3278 la llamada directa del método de interfaz o puro 'function' generará un error en tiempo de ejecución.
Error del compilador C3279 no se permiten especializaciones parciales o explícitas ni creaciones de instancias explícitas de plantillas de clase declaradas en el espacio de nombres cli.
Error del compilador C3280 'function': una función miembro de un tipo administrado no puede compilarse como una función no administrada.
Error del compilador C3281 'function': el operador global no puede tener el tipo administrado o WinRT 'type' en la signatura.
Error del compilador C3282 las listas de parámetros genéricos solamente pueden aparecer en clases administradas o WinRT, structs o funciones
Error del compilador C3283 'interface': una interfaz no puede tener un constructor de instancia.
Error del compilador C3284 las restricciones del parámetro genérico 'parameter' de la función 'declarator' deben coincidir con las restricciones correspondientes al parámetro genérico 'parameter' de la función 'declarator'.
Error del compilador C3285 la instrucción for each no puede utilizarse en variables de tipo 'type'.
Error del compilador C3286 'specifier': una variable de iteración no puede tener especificadores de clase de almacenamiento.
Error del compilador C3287 El tipo 'type' (tipo de valor devuelto de GetEnumerator) debe tener una función miembro MoveNext pública y una propiedad Current pública adecuadas.
Error del compilador C3288 'type': desreferenciación no válida de un tipo de identificador.
Error del compilador C3289 'identifier': no se puede indexar una propiedad trivial.
Error del compilador C3290 'type': una propiedad trivial no puede tener tipo de referencia.
Error del compilador C3291 'default': no puede ser el nombre de una propiedad trivial.
Error del compilador C3292 el espacio de nombres cli no se puede abrir de nuevo
Error del compilador C3293 'identifier': utilice 'default' para obtener acceso a la propiedad predeterminada (indizador) para la clase 'class'.
Error del compilador C3294 Obsoleto.
Error del compilador C3295 '#pragma specifier' solo se puede usar en un ámbito global o de espacio de nombres.
Error del compilador C3296 'identifier': ya existe una propiedad con este nombre.
Error del compilador C3297 ' constraint2': no se puede usar 'constraint1' como restricción porque 'constraint1' tiene la restricción de valor.
Error del compilador C3298 ' constraint1': no se puede usar 'constraint2' como restricción porque 'constraint2' tiene la restricción de referencia y 'constraint1' tiene la restricción de valor.
Error del compilador C3299 'function': no puede especificar restricciones; estas se heredan del método base.

Consulte también

Advertencias y errores de las herramientas de compilación y del compilador de C/C++
Errores del compilador de C2000 a C3999 y de C7000 a C7999