Errores del compilador: de C2001 a C2099
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 C2001 | nueva línea en constante |
Error del compilador C2002 | constante de caracteres anchos no válida |
Error del compilador C2003 | se esperaba 'defined id' |
Error del compilador C2004 | se esperaba 'defined(id)' |
Error del compilador C2005 | #line esperaba un número de línea, pero se ha encontrado 'token' |
Error del compilador C2006 | 'directiva' se esperaba un nombre de archivo, se ha encontrado 'token' |
Error del compilador C2007 | sintaxis de #define |
Error del compilador C2008 | 'carácter': no se esperaba en la definición de macro |
Error del compilador C2009 | volver a usar el parámetro formal de macro 'identificador' |
Error del compilador C2010 | 'carácter": no se esperaba en la lista de parámetros formales de macro |
Error del compilador C2011 | 'identificador': nueva definición del tipo 'tipo' |
Error del compilador C2012 | falta un nombre detrás de "<" |
Error del compilador C2013 | falta '>' |
Error del compilador C2014 | el comando de preprocesador debe empezar con un primer espacio que no esté en blanco |
Error del compilador C2015 | hay demasiados caracteres en la constante |
Error del compilador C2016 | C requiere que un elemento struct o union tenga al menos un miembro |
Error del compilador C2017 | secuencia de escape no válida |
Error del compilador C2018 | carácter '0xvalor' desconocido |
Error del compilador C2019 | se esperaba una directiva del preprocesador; se encontró 'carácter' |
Error del compilador C2020 | 'miembro': nueva definición de miembro 'clase' |
Error del compilador C2021 | se esperaba un valor de exponente, no 'carácter' |
Error del compilador C2022 | 'número': demasiado grande para el carácter |
Error del compilador C2023 | "identificador": la alineación (valor-1) difiere de la declaración anterior (valor-2) |
Error del compilador C2024 | El atributo 'alignas' se aplica solo a variables, miembros de datos y tipos de etiqueta |
Error del compilador C2025 | archivo de interfaz de módulo binario no válido o dañado: 'nombre_de_archivo' |
Error del compilador C2026 | cadena demasiado grande; caracteres finales truncados |
Error del compilador C2027 | Uso del tipo no definido 'tipo' |
Error del compilador C2028 | el miembro struct/union debe estar dentro de una estructura o unión |
Error del compilador C2029 | (Obsoleto) a la izquierda de "token" se especifica un "identificador" de clase, estructura o interfaz sin definir |
Error del compilador C2030 | un destructor con accesibilidad 'protected private' no puede ser miembro de una clase declarada 'sealed' |
Error del compilador C2031 | no se permite un destructor virtual con accesibilidad 'accesibilidad' para este tipo |
Error del compilador C2032 | 'identificador': la función no puede ser miembro de struct/union 'tipo' |
Error del compilador C2033 | 'identificador': el campo de bits no puede tener direccionamiento indirecto |
Error del compilador C2034 | 'identificador': el tipo de campo de bits es demasiado pequeño para el número de bits |
Error del compilador C2035 | no se permite un destructor no virtual con accesibilidad 'accesibilidad' para este tipo |
Error del compilador C2036 | 'identificador': tamaño desconocido |
Error del compilador C2037 | a la izquierda de "operador" se especifica un "tipo" de estructura o unión sin definir |
Error del compilador C2038 | el espacio de nombres std no puede estar en línea |
Error del compilador C2039 | 'identificador1' : no es un miembro de 'identificador2' |
Error del compilador C2040 | 'operador': 'identificador1' se diferencia en los niveles de direccionamiento indirecto de 'identificador2' |
Error del compilador C2041 | dígito 'carácter' no válido para la base 'número' |
Error del compilador C2042 | las palabras clave signed/unsigned se excluyen mutuamente |
Error del compilador C2043 | instrucción break no válida |
Error del compilador C2044 | instrucción continue no válida |
Error del compilador C2045 | 'identificador': etiqueta redefinida |
Error del compilador C2046 | palabra clave case no válida |
Error del compilador C2047 | palabra clave default no válida |
Error del compilador C2048 | más de una etiqueta default |
Error del compilador C2049 | "nombre_espacio_de_nombres": un espacio de nombres que no está en línea no se puede volver a abrir como en línea |
Error del compilador C2050 | la expresión switch no es de tipo integral |
Error del compilador C2051 | la expresión case no es una constante |
Error del compilador C2052 | 'tipo': tipo no válido para la expresión case |
Error del compilador C2053 | 'identificador": incompatible con cadena de caracteres anchos |
Error del compilador C2054 | se esperaba '(' a continuación de 'identificador' |
Error del compilador C2055 | se esperaba una lista de parámetros formales, no una lista de tipos |
Error del compilador C2056 | Expresión no válida |
Error del compilador C2057 | se esperaba una expresión constante |
Error del compilador C2058 | la expresión constante no es de tipo integral |
Error del compilador C2059 | error de sintaxis: 'token' |
Error del compilador C2060 | error de sintaxis: se encontró el final del archivo |
Error del compilador C2061 | error de sintaxis: identificador 'identificador' |
Error del compilador C2062 | tipo 'tipo' inesperado |
Error del compilador C2063 | 'identificador': no es una función |
Error del compilador C2064 | el término no se evalúa como una función con número argumentos |
Error del compilador C2065 | 'identificador': identificador no declarado |
Error del compilador C2066 | la conversión a tipo de función no es válida |
Error del compilador C2067 | la conversión a tipo de matriz no es válida |
Error del compilador C2068 | uso no válido de la función sobrecargada. ¿Falta la lista de argumentos? |
Error del compilador C2069 | conversión del término 'void' a otro que no sea de tipo 'void' |
Error del compilador C2070 | 'tipo': operando sizeof no válido |
Error del compilador C2071 | 'identificador': clase de almacenamiento no válida |
Error del compilador C2072 | 'identificador': inicialización de una función |
Error del compilador C2073 | (Obsoleto) "identificador": los elementos de la matriz inicializada parcialmente deben tener un constructor predeterminado |
Error del compilador C2074 | 'identificador': 'tipo' requiere una lista de inicializadores entre llaves |
Error del compilador C2075 | 'identificador': la inicialización de matriz requiere una lista de inicializadores entre llaves |
Error del compilador C2076 | Una lista de inicializadores entre llaves no se puede usar en una expresión nueva cuyo tipo contenga 'tipo' |
Error del compilador C2077 | inicializador de campo no escalar 'identificador' |
Error del compilador C2078 | hay demasiados inicializadores |
Error del compilador C2079 | 'identificador' utiliza 'tipo' struct/class/union sin definir |
Error del compilador C2080 | 'identificador': el tipo para 'tipo' solo se puede deducir a partir de una sola expresión de inicializador |
Error del compilador C2081 | 'identificador': el nombre de la lista de parámetros formales no es válido |
Error del compilador C2082 | nueva definición del parámetro formal 'identificador' |
Error del compilador C2083 | comparación struct/union no válida |
Error del compilador C2084 | la función 'identificador' ya tiene un cuerpo |
Error del compilador C2085 | 'identificador': no está en la lista de parámetros formales |
Error del compilador C2086 | 'identificador': nueva definición |
Error del compilador C2087 | 'identificador": falta el subíndice |
Error del compilador C2088 | 'operador': no es válido para struct/class/union |
Error del compilador C2089 | 'identificador': 'tipo' demasiado grande |
Error del compilador C2090 | la función devuelve una matriz |
Error del compilador C2091 | la función devuelve una función |
Error del compilador C2092 | el tipo de elemento de matriz 'identificador' no puede ser una función |
Error del compilador C2093 | 'identificador1': no se puede inicializar utilizando la dirección de variable automática 'identificador2' |
Error del compilador C2094 | la etiqueta 'identificador' no estaba definida |
Error del compilador C2095 | 'función': el parámetro real es de tipo 'void': parámetro 'número' |
Error del compilador C2096 | 'identificador': un miembro de datos no se puede inicializar con un inicializador entre paréntesis |
Error del compilador C2097 | Inicialización no válida |
Error del compilador C2098 | token inesperado después del miembro de datos 'identificador' |
Error del compilador C2099 | el inicializador no es una constante |
Consulte también
Advertencias y errores de las herramientas de compilación y del compilador de C/C++
Errores del compilador de C2001 a C3999 y de C7000 a C7999