Errores del compilador de C2200 a C2299
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 C2200 | 'función': la función ya se ha definido |
Error del compilador C2201 | 'identificador': debe tener una vinculación externa para exportarlo o importarlo |
Error del compilador C2202 | 'función': no todas las rutas de acceso de control devuelven un valor |
Error del compilador C2203 | el operador delete no puede especificar límites para una matriz |
Error del compilador C2204 | 'tipo': se ha encontrado la definición de tipo entre paréntesis |
Error del compilador C2205 | 'identificador': no se pueden inicializar variables extern con ámbito de bloque |
Error del compilador C2206 | 'función': typedef no se puede utilizar para la definición de función |
Error del compilador C2207 | 'función': un miembro de una plantilla de clase no puede adquirir un tipo de función |
Error del compilador C2208 | 'tipo': no se han definido miembros utilizando este tipo |
Error del compilador C2209 | 'identificador': los alias no se pueden usar en declaraciones de constructor |
Error del compilador C2210 | 'identificador': las expansiones del paquete no se pueden usar como argumentos en los parámetros sin empaquetar de plantillas de alias |
Error del compilador C2211 | Un destructor no virtual de una clase ref derivado de una clase ref con un destructor público también debe ser público |
Error del compilador C2212 | 'identificador': __based no está disponible para punteros a funciones |
Error del compilador C2213 | 'identificador': argumento para __based no válido |
Error del compilador C2214 | los punteros basados en 'void' requieren el uso de:> |
Error del compilador C2215 | 'palabra_clave' no se puede utilizar con '/arch:SSE' |
Error del compilador C2216 | 'palabra_clave1' no se puede usar con 'palabra_clave2' |
Error del compilador C2217 | 'atritubo1' requiere 'atributo2' |
Error del compilador C2218 | 'tipo_de_llamada' no se puede utilizar con '/arch:IA32' |
Error del compilador C2219 | error de sintaxis: el calificador de tipo debe estar detrás de '*' |
Error del compilador C2220 | advertencia tratada como error: ningún archivo 'tipo_de_archivo' generado |
Error del compilador C2221 | Obsoleto. |
Error del compilador C2222 | tipo inesperado 'tipo': se esperaba un miembro o clase base |
Error del compilador C2223 | el operando izquierdo de '->identificador' debe señalar a struct/union |
Error del compilador C2224 | El operando izquierdo de '.identificador' debe tener el tipo struct/union |
Error del compilador C2225 | Obsoleto. |
Error del compilador C2226 | error de sintaxis: tipo 'tipo' inesperado |
Error del compilador C2227 | el operando izquierdo de '->identificador' debe señalar al tipo class/struct/union/generic |
Error del compilador C2228 | El operando izquierdo de '.identificador' debe tener class/struct/union |
Error del compilador C2229 | class/struct/union 'tipo' tiene una matriz de tamaño cero no válida |
Error del compilador C2230 | no se pudo encontrar el módulo 'nombre' |
Error del compilador C2231 | '. identificador': el operando izquierdo señala a 'class/struct/union'; utilice '->' |
Error del compilador C2232 | '->identificador': el operando izquierdo tiene el tipo 'class/struct/union'; utilice '.' |
Error del compilador C2233 | 'identificador': las matrices de objetos que contienen matrices de tamaño cero no son válidas |
Error del compilador C2234 | 'identificador': las matrices de referencias no son válidas |
Error del compilador C2235 | Obsoleto. |
Error del compilador C2236 | símbolo (token) 'token' inesperado. Compruebe si olvidó un ';' |
Error del compilador C2237 | declaración de módulo múltiple |
Error del compilador C2238 | símbolos (token) inesperados delante de 'token' |
Error del compilador C2239 | 'función': se está intentando eliminar una función __declspec(dllexport) |
Error del compilador C2240 | Obsoleto. |
Error del compilador C2241 | 'identificador': el acceso a miembros está restringido |
Error del compilador C2242 | un nombre typedef no puede seguir a class/struct/union |
Error del compilador C2243 | 'tipo_de_conversión': la conversión de 'tipo1' a 'tipo2' existe, pero es inaccesible |
Error del compilador C2244 | 'identificador': no se puede hacer coincidir la definición de función con una declaración existente |
Error del compilador C2245 | función miembro 'función' no existente especificada como friend (la signatura de la función miembro no coincide con ninguna sobrecarga) |
Error del compilador C2246 | 'identificador': miembro de datos estático no válido en la clase definida localmente |
Error del compilador C2247 | No se puede obtener acceso a 'identificador' porque 'clase1' utiliza 'especificador' para heredar de 'clase2' |
Error del compilador C2248 | 'identificador': no se puede acceder al miembro de accesibilidad declarado en la clase 'clase' |
Error del compilador C2249 | 'identificador': no hay ninguna ruta de acceso accesible para miembro declarado en base virtual 'clase' |
Error del compilador C2250 | 'identificador': herencia ambigua de clase::miembro' |
Error del compilador C2251 | el espacio de nombres 'espacio de nombres' no tiene ningún miembro 'identificador', ¿pretendía utilizar 'miembro'? |
Error del compilador C2252 | La creación de una instancia explícita de una plantilla solo puede tener lugar en el ámbito de espacio de nombres |
Error del compilador C2253 | 'función': el especificador puro o de invalidación abstracto solo se permite en la función virtual |
Error del compilador C2254 | 'función': no se permite un especificador puro o de invalidación abstracto en la función friend |
Error del compilador C2255 | 'elemento': no se permite fuera de una definición de clase |
Error del compilador C2256 | uso no válido de especificador friend en 'función' |
Error del compilador C2257 | 'especificador': especificador no permitido en el tipo de retorno final |
Error del compilador C2258 | sintaxis pura no válida, debe ser '= 0' |
Error del compilador C2259 | 'clase': no se puede crear una instancia de una clase abstract |
Error del compilador C2260 | 'especificador': especificador de ensamblado de confianza InternalsVisibleToAttribute no válido |
Error del compilador C2261 | 'cadena': la referencia de ensamblado no es válida y no puede resolverse |
Error del compilador C2262 | 'especificador': Las declaraciones InternalsVisibleTo no pueden especificar una versión, referencia cultural o arquitectura de procesador |
Error del compilador C2263 | Obsoleto. |
Error del compilador C2264 | 'función': error en la definición o declaración de función; no se ha llamado a la función |
Error del compilador C2265 | Obsoleto. |
Error del compilador C2266 | 'identificador': la referencia a una matriz delimitada que no sea constante no es válida |
Error del compilador C2267 | 'función': las funciones static con ámbito de bloque no son válidas |
Error del compilador C2268 | 'función' es un asistente de bibliotecas predefinido para el compilador. Los asistentes de bibliotecas no se admiten con/GL; compile el archivo objeto 'archivo' sin /GL. |
Error del compilador C2269 | No se puede crear un puntero o una referencia a un tipo de función cualificado (se requiere un puntero a miembro) |
Error del compilador C2270 | 'función': modificadores no permitidos en funciones que no sean miembro |
Error del compilador C2271 | 'función': new/delete no pueden tener modificadores de lista formales |
Error del compilador C2272 | 'función': modificadores no permitidos en funciones miembro static |
Error del compilador C2273 | 'tipo': no es válido como lado derecho del operador '->' |
Error del compilador C2274 | 'tipo': no es válido como lado derecho del operador '.' |
Error del compilador C2275 | 'tipo': uso no válido de este tipo como expresión |
Error del compilador C2276 | 'operador': operación no válida de la expresión de función miembro enlazada |
Error del compilador C2277 | 'función': no se puede adquirir la dirección de esta función miembro |
Error del compilador C2278 | Obsoleto. |
Error del compilador C2279 | la especificación de la excepción no puede aparecer en una declaración de tipo typedef |
Error del compilador C2280 | 'clase::función': se está intentando hacer referencia a una función eliminada |
Error del compilador C2281 | 'clase::función': una función solo puede eliminarse en la primera declaración |
Error del compilador C2282 | 'función1' no puede invalidar 'función2' |
Error del compilador C2283 | 'identificador': no se permite un especificador puro o de invalidación abstracto en clase/struct sin nombre |
Error del compilador C2284 | 'función': argumento no válido para la función intrínseca, parámetro número |
Error del compilador C2285 | la representación de punteros a miembros ya se ha determinado; se ha omitido pragma |
Error del compilador C2286 | Los punteros a miembros de la representación "identificador" ya están establecidos en herencia: se ha omitido la declaración |
Error del compilador C2287 | 'identificador': representación de herencia: 'herencia' es menos general que la representación 'herencia' necesaria |
Error del compilador C2288 | Obsoleto. |
Error del compilador C2289 | el mismo calificador de tipo se ha utilizado más de una vez |
Error del compilador C2290 | La sintaxis C++ 'asm' se ha omitido. Use __asm. |
Error del compilador C2291 | No se puede exportar un espacio de nombres anónimo. |
Error del compilador C2292 | 'identificador': representación de herencia de mejor caso: se ha declarado herencia1' pero se requiere 'herencia2' |
Error del compilador C2293 | 'identificador': no es válido tener una variable miembro como especificador __based |
Error del compilador C2294 | no se puede exportar el símbolo 'identificador' porque tiene vinculación interna |
Error del compilador C2295 | 'carácter' de escape: no es válida en la definición de macro |
Error del compilador C2296 | 'operador': no es válido; el operando izquierdo es de tipo 'tipo' |
Error del compilador C2297 | 'operador': no es válido; el operando derecho es de tipo 'tipo' |
Error del compilador C2298 | llamada perdida a la función de puntero a miembro |
Error del compilador C2299 | 'función': cambio de comportamiento: una especialización explícita no puede ser un constructor de copia ni un operador de asignación de copia |
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