Errores del compilador de C2100 a C2199
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 C2100 | direccionamiento indirecto no válido |
Error del compilador C2101 | '&' en la constante |
Error del compilador C2102 | '&' requiere valor L |
Error del compilador C2103 | '&' en la variable de registro |
Error del compilador C2104 | "&" en el campo de bits omitido |
Error del compilador C2105 | 'operador' necesita valor L |
Error del compilador C2106 | 'operador': el operando izquierdo debe ser valor L |
Error del compilador C2107 | índice no válido, direccionamiento indirecto no permitido |
Error del compilador C2108 | el subíndice no es de tipo entero |
Error del compilador C2109 | el subíndice requiere una matriz o tipo de puntero |
Error del compilador C2110 | '+': no se pueden sumar dos punteros |
Error del compilador C2111 | '+': la suma de punteros requiere un operando de tipo integral |
Error del compilador C2112 | '-': la resta de punteros requiere un operando de tipo puntero o integral |
Error del compilador C2113 | '-': un puntero solo se puede restar de otro puntero |
Error del compilador C2114 | 'operador': puntero a la izquierda; se requiere un valor de tipo integral a la derecha |
Error del compilador C2115 | 'operador': tipos incompatibles |
Error del compilador C2116 | las listas de parámetros de función son distintas |
Error del compilador C2117 | 'identificador': desbordamiento de límites de matriz |
Error del compilador C2118 | subíndice negativo |
Error del compilador C2119 | "identificador": el tipo de "tipo" no se puede deducir de un inicializador vacío |
Error del compilador C2120 | 'void' no es válido con todos los tipos |
Error del compilador C2121 | '#': carácter no válido: es posible que sea el resultado de la expansión de una macro |
Error del compilador C2122 | 'identificador': el parámetro de prototipos de la lista de nombres no es válido |
Error del compilador C2123 | "identificador": las plantillas de alias no pueden estar especializadas parcial o explícitamente |
Error del compilador C2124 | división (normal o módulo) por cero |
Error del compilador C2125 | 'constexpr' es incompatible con 'token' |
Error del compilador C2126 | 'identificador' no se puede declarar con el especificador 'constexpr' |
Error del compilador C2127 | 'identificador': inicialización no válida de la entidad 'constexpr' con una expresión no constante |
Error del compilador C2128 | 'función': alloc_text/same_seg solo son aplicables a funciones con vinculación C |
Error del compilador C2129 | función static 'identificador' declarada pero no definida |
Error del compilador C2130 | #line esperaba una cadena con el nombre de archivo, pero se ha encontrado 'token' |
Error del compilador C2131 | la expresión no se evaluó como una constante |
Error del compilador C2132 | error de sintaxis: identificador inesperado |
Error del compilador C2133 | 'identificador': tamaño desconocido |
Error del compilador C2134 | 'función': la llamada no da como resultado una expresión constante |
Error del compilador C2135 | 'operador': operación de campo de bits no válida |
Error del compilador C2136 | contrato de API de creación no permitido |
Error del compilador C2137 | constante de caracteres vacía |
Error del compilador C2138 | no es válido definir una enumeración sin miembros |
Error del compilador C2139 | 'clase': no se permite el uso de una clase no definida como argumento para el rasgo de tipo intrínseco 'trait' |
Error del compilador C2140 | 'tipo': un tipo que depende de un parámetro de tipo genérico no se puede utilizar como argumento del rasgo de tipo intrínseco del compilador 'trait' |
Error del compilador C2141 | desbordamiento del tamaño de la matriz |
Error del compilador C2142 | las declaraciones de función son distintas; los parámetros de variable solo se especifican en una de ellas |
Error del compilador C2143 | error de sintaxis: falta 'token1' delante de 'token2' |
Error del compilador C2144 | error de sintaxis: 'tipo' debe estar precedido de 'token2' |
Error del compilador C2145 | error de sintaxis: falta 'token' delante del identificador |
Error del compilador C2146 | error de sintaxis: falta 'token' delante del 'identificador' |
Error del compilador C2147 | error de sintaxis: 'token' es una palabra clave nueva |
Error del compilador C2148 | el tamaño total de la matriz no debe superar los 0xvalue bytes |
Error del compilador C2149 | 'identificador': el ancho del campo de bits con nombre no puede ser igual a cero |
Error del compilador C2150 | 'identificador': el campo de bits debe tener el tipo 'int', 'signed int' o 'unsigned int' |
Error del compilador C2151 | más de un atributo de lenguaje |
Error del compilador C2152 | 'identificador': punteros a funciones con distintos atributos |
Error del compilador C2153 | los literales de tipo Integer deben tener al menos un dígito |
Error del compilador C2154 | 'tipo': solo se admite el tipo de enumeración como argumento del rasgo de tipo intrínseco del compilador 'trait' |
Error del compilador C2155 | '?': operando izquierdo no válido, se esperaba un tipo aritmético o de puntero |
Error del compilador C2156 | pragma debe estar fuera de la función |
Error del compilador C2157 | 'identificador': se debe declarar antes de utilizarlo en la lista pragma |
Error del compilador C2158 | 'tipo': actualmente, la #pragma makepublic solamente es compatible con tipos nativos que no son de plantilla |
Error del compilador C2159 | se ha especificado más de una clase de almacenamiento |
Error del compilador C2160 | '##' no puede aparecer al principio de una definición de macro |
Error del compilador C2161 | '##' no puede aparecer al final de una definición de macro |
Error del compilador C2162 | se esperaba un parámetro formal de macro |
Error del compilador C2163 | 'función': no está disponible como función intrínseca |
Error del compilador C2164 | 'función': función intrínseca no declarada |
Error del compilador C2165 | 'modificador': no se pueden modificar los punteros a datos |
Error del compilador C2166 | Valor L especifica un objeto const |
Error del compilador C2167 | 'función': hay demasiados parámetros reales para la función intrínseca |
Error del compilador C2168 | 'función': no hay suficientes parámetros reales para la función intrínseca |
Error del compilador C2169 | 'función': función intrínseca, no se puede definir |
Error del compilador C2170 | 'identificador': no declarado como función, no puede ser intrínseco |
Error del compilador C2171 | 'operador': no es válido para operandos de tipo 'tipo' |
Error del compilador C2172 | 'función': el parámetro real no es un puntero: parámetro número |
Error del compilador C2173 | 'function': el parámetro real no es un puntero: parámetro número, lista de parámetros número |
Error del compilador C2174 | 'función': el parámetro real es de tipo 'void': parámetro número, lista de parámetros número |
Error del compilador C2175 | 'configuración regional': configuración regional no válida |
Error del compilador C2176 | no puede aparecer una instrucción "return" en el controlador de un bloque "try" de función asociado a un constructor |
Error del compilador C2177 | constante demasiado grande |
Error del compilador C2178 | 'identificador' no se puede declarar con el especificador 'especificador' |
Error del compilador C2179 | 'tipo': un argumento de atributo no puede utilizar parámetros de tipo |
Error del compilador C2180 | la expresión de control es del tipo 'tipo' |
Error del compilador C2181 | 'else' no válido sin el correspondiente 'if' |
Error del compilador C2182 | 'identificador': uso no válido del tipo 'void' |
Error del compilador C2183 | error de sintaxis: la unidad de traducción está vacía |
Error del compilador C2184 | 'tipo': tipo no válido para la expresión __except |
Error del compilador C2185 | 'identificador': asignación con base no válida |
Error del compilador C2186 | 'operador': operando no válido de tipo 'void' |
Error del compilador C2187 | error de sintaxis: 'token' inesperado aquí |
Error del compilador C2188 | 'número': demasiado grande para el carácter ancho |
Error del compilador C2189 | El atributo 'alignas' no puede aplicarse a un campo de bits, un parámetro de función, una declaración de excepción o una variable declarada con la clase de almacenamiento 'register' |
Error del compilador C2190 | la primera lista de parámetros es más larga que la segunda |
Error del compilador C2191 | la segunda lista de parámetros es más larga que la primera |
Error del compilador C2192 | la declaración de parámetro 'número' es diferente |
Error del compilador C2193 | 'identificador': ya está en un segmento |
Error del compilador C2194 | 'identificador': es un segmento de texto |
Error del compilador C2195 | 'identificador': es un segmento de datos |
Error del compilador C2196 | el valor de case 'valor' ya se ha utilizado |
Error del compilador C2197 | 'función': hay demasiados argumentos para la llamada |
Error del compilador C2198 | 'función': no hay suficientes argumentos para la llamada |
Error del compilador C2199 | error de sintaxis: se encontró 'identificador (' en un ámbito global (¿se trata de una declaración?) |
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