Errores del compilador de C2600 a C2699
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 C2600 | "function": no se puede definir una función miembro especial generada por el compilador (se debe declarar primero en la clase) |
Error del compilador C2601 | "function": las definiciones de funciones locales no son válidas |
Error del compilador C2602 | "class::identifier" no es miembro de una clase base de "class" |
Error del compilador C2603 | "function": hay demasiados objetos estáticos de ámbito de bloque con constructores/destructores en la función |
Error del compilador C2604 | "identifier": no se puede implementar más de un método de interfaz |
Error del compilador C2605 | "identifier": este método está reservado dentro de una clase administrada/WinRT |
Error del compilador C2606 | "class1": no se puede volver a implementar "member", porque se hereda de la clase base "class2" en tiempo de ejecución |
Error del compilador C2607 | error de aserción estática |
Error del compilador C2608 | Obsoleto. |
Error del compilador C2609 | Obsoleto. |
Error del compilador C2610 | "class::member": no es una función miembro especial a la que se puede asignar un valor predeterminado |
Error del compilador C2611 | "token": elemento no válido después de "~" (se esperaba un identificador) |
Error del compilador C2612 | "character" final no válido en la lista de inicializadores de base/miembro |
Error del compilador C2613 | "character" final no válido en la lista de clase base |
Error del compilador C2614 | "class": inicialización de miembro no válida: "identifier" no es base ni miembro |
Error del compilador C2615 | Obsoleto. |
Error del compilador C2616 | "conversion": no se puede convertir implícitamente un "type1" que no es lvalue en un "type2" que no es const |
Error del compilador C2617 | "function": instrucción "return" no coherente |
Error del compilador C2618 | Obsoleto. |
Error del compilador C2619 | "identifier": no se permite un miembro de datos estático en una unión o estructura anónima |
Error del compilador C2620 | Obsoleto. |
Error del compilador C2621 | Obsoleto. |
Error del compilador C2622 | Obsoleto. |
Error del compilador C2623 | Obsoleto. |
Error del compilador C2624 | "scope::type": las clases locales no se pueden utilizar para declarar variables "extern" |
Error del compilador C2625 | "identifier": miembro de unión no válido; el tipo "type" es un tipo de referencia |
Error del compilador C2626 | "identifier": no se puede usar un miembro de datos privado o protegido en una unión o estructura anónima |
Error del compilador C2627 | "function": función miembro no permitida en una unión anónima |
Error del compilador C2628 | "type1" seguido de "type2" no es válido (¿olvidó ";"?) |
Error del compilador C2629 | "identifier": una unión o estructura anónima no puede declarar un tipo anidado |
Error del compilador C2630 | "symbol" se ha encontrado en lo que debería ser una lista separada por comas |
Error del compilador C2631 | "identifier": no se puede definir una clase o enumeración en una plantilla de alias |
Error del compilador C2632 | "type1" seguido de "type2" no es válido |
Error del compilador C2633 | "identifier": "inline" es la única clase de almacenamiento válida para constructores |
Error del compilador C2634 | "class::member": el puntero a miembro de referencia no es válido |
Error del compilador C2635 | no se puede convertir "type1*" en "type2*"; implica la conversión de una clase base virtual |
Error del compilador C2636 | "identifier": el puntero a miembro de referencia no es válido |
Error del compilador C2637 | "identifier": no se pueden modificar los punteros a miembros de datos |
Error del compilador C2638 | "identifier": el modificador __based no es válido para punteros a miembros |
Error del compilador C2639 | Obsoleto. |
Error del compilador C2640 | "identifier": el modificador __based no es válido para referencias |
Error del compilador C2641 | Obsoleto. |
Error del compilador C2642 | Obsoleto. |
Error del compilador C2643 | Obsoleto. |
Error del compilador C2644 | Obsoleto. |
Error del compilador C2645 | no existe un nombre completo para puntero a miembro (se encontró ":: *") |
Error del compilador C2646 | Una unión o estructura anónima en un ámbito global o de espacio de nombres se debe declarar como estática |
Error del compilador C2647 | "operator": no se puede desreferenciar un "type1" en un "type2" |
Error del compilador C2648 | "identifier": el uso de miembro como parámetro predeterminado requiere un miembro estático |
Error del compilador C2649 | "identifier": no es una clase, estructura ni unión |
Error del compilador C2650 | "operator": no puede ser una función virtual |
Error del compilador C2651 | "type": a la izquierda de "::", debe haber una clase, estructura o unión |
Error del compilador C2652 | "identifier": constructor de copia no válido: el primer parámetro no debe ser "type" |
Error del compilador C2653 | "identifier": no es un nombre de clase o de espacio de nombres |
Error del compilador C2654 | "identifier": intento de acceso a un miembro fuera de una función miembro |
Error del compilador C2655 | "identifier": la definición o la nueva declaración no son válidas en el ámbito actual |
Error del compilador C2656 | "function": no se permite la función como campo de bits |
Error del compilador C2657 | "class::*" se encontró al inicio de una instrucción (¿olvidó especificar un tipo?) |
Error del compilador C2658 | "identifier": nueva definición en estructura o unión anónima |
Error del compilador C2659 | "operator": función sobrecargada como operando izquierdo |
Error del compilador C2660 | "function": la función no acepta argumentos number |
Error del compilador C2661 | "function": ninguna función sobrecargada acepta argumentos number |
Error del compilador C2662 | "function": no se puede convertir el puntero "this" de "type1" a "type2" |
Error del compilador C2663 | "function": las sobrecargas number no tienen una conversión válida para el puntero "this" |
Error del compilador C2664 | "function": no se puede convertir el argumento number de "type1" a "type2" |
Error del compilador C2665 | "function": ninguna de las sobrecargas number pudo convertir todos los tipos de argumento |
Error del compilador C2666 | "function": las sobrecargas number tienen conversiones similares |
Error del compilador C2667 | "function": ninguna de las sobrecargas number tiene una mejor conversión |
Error del compilador C2668 | "function": llamada ambigua a una función sobrecargada |
Error del compilador C2669 | función miembro no permitida en unión anónima |
Error del compilador C2670 | "function": la plantilla de función no puede convertir el parámetro number de tipo "type" |
Error del compilador C2671 | "function": las funciones miembro estáticas no tienen punteros "this" |
Error del compilador C2672 | "function": no se encontró una función sobrecargada que coincida |
Error del compilador C2673 | "function": las funciones globales no tienen punteros "this" |
Error del compilador C2674 | no se permite una declaración genérica en este contexto |
Error del compilador C2675 | "operator" unario: "type" no define este operador o una conversión a un tipo aceptable para el operador predefinido |
Error del compilador C2676 | "operator" binario: "type" no define este operador o una conversión a tipo aceptable para el operador predefinido |
Error del compilador C2677 | "operator" binario: no se encontró ningún operador global que acepte el tipo "type" (o bien no existe una conversión aceptable) |
Error del compilador C2678 | "operator" binario: no se encontró ningún operador que acepte un operando en la parte izquierda de tipo "type" (o bien no existe una conversión aceptable) |
Error del compilador C2679 | "operator" binario: no se encontró ningún operador que acepte un operando en la parte derecha de tipo "'type" (o bien no existe una conversión aceptable) |
Error del compilador C2680 | "type": tipo de destino no válido para cast |
Error del compilador C2681 | "type": tipo de expresión no válida para cast |
Error del compilador C2682 | no se puede usar "cast" para realizar la conversión de "type1" a "type2" |
Error del compilador C2683 | "cast": "type" no es un tipo polimórfico |
Error del compilador C2684 | "declarator": no se admiten funciones eliminadas o con valores predeterminados en las clases administradas o WinRT |
Error del compilador C2685 | "declarator": no se admiten funciones eliminadas o con valores predeterminados con especificadores de restricción explícitos |
Error del compilador C2686 | no se pueden sobrecargar funciones miembro estáticas y no estáticas con los mismos tipos de parámetros |
Error del compilador C2687 | "type": la declaración de excepción no puede ser "void" o denotar un tipo o puntero incompleto, o bien una referencia a un tipo incompleto |
Error del compilador C2688 | "type::member": los resultados de covariante con herencia múltiple o virtual no son compatibles con las funciones varargs |
Error del compilador C2689 | "function": no se puede definir una función friend en una clase local |
Error del compilador C2690 | "operator": no se puede realizar aritmética de puntero en una matriz administrada o WinRT |
Error del compilador C2691 | "type": una matriz administrada o WinRT no puede tener este tipo de elemento |
Error del compilador C2692 | "function": se requieren funciones que se ajusten completamente al prototipo en el compilador C con la opción "/clr" |
Error del compilador C2693 | "operator": comparación no válida de referencias a una matriz administrada o WinRT |
Error del compilador C2694 | "override_function": la invalidación de una función virtual tiene una excepción menos restrictiva que la función miembro virtual de clase base "base_function" |
Error del compilador C2695 | "override_function": la invalidación de una función virtual difiere de "base_function" solo mediante una convención de llamada |
Error del compilador C2696 | No se puede crear un objeto temporal de tipo "type" administrado o WinRT |
Error del compilador C2697 | Obsoleto. |
Error del compilador C2698 | la declaración using para "declaration1" no puede coexistir con la declaración using existente para "declaration2" |
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