Compartir a través de


Advertencias del compilador de Microsoft C/C++ C5200 a C5399

En los artículos de esta sección se describen los mensajes de advertencia del compilador de Microsoft C/C++ C5200 a C5399.

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 advertencia

Advertencia Mensaje
Advertencia del compilador (nivel 1) C5200 la característica "feature-name" requiere la marca del compilador "option-name"
Advertencia del compilador (nivel 1) C5201 una declaración de módulo solo puede aparecer al principio de una unidad de traducción, a menos que se use un fragmento de módulo global
Advertencia del compilador (nivel 1) C5202 un fragmento de módulo global solo puede contener directivas de preprocesador
Advertencia del compilador (nivel 1) C5203 Un nombre de declarador entre paréntesis después de "explicit" se considerará un especificador explícito en C++20
Advertencia del compilador (nivel 3, desactivada) C5204 "type-name": la clase tiene funciones virtuales, pero su destructor trivial no es virtual; puede que las instancias de objetos derivados de esta clase no se destruyan correctamente
Advertencia del compilador (nivel 4) C5205 la eliminación de una clase abstracta "type-name" que tiene un destructor no virtual produce un comportamiento no definido
Advertencia del compilador (nivel 3) C5206 los tipos de valor devuelto deducidos para las corrutinas son una extensión no estándar
Advertencia del compilador (nivel 1) C5207 el requisito simple declara la validez de la expresión "e->id". ¿Quiso decir "{ e } -> id"? Puede suprimir la advertencia con "{ e->id }"
Advertencia del compilador (nivel 1) C5208 la clase sin nombre que se usa en el nombre typedef no puede declarar miembros que no sean miembros de datos no estáticos, enumeraciones de miembros o clases de miembros
Advertencia del compilador (nivel 1) C5209 la sintaxis de C++20 para una captura de inicialización ha cambiado a "& ...opt identifier initializer"
Advertencia del compilador (nivel 1) C5210 "name" no es una referencia de unidad de encabezado válida; se ignorará
Advertencia del compilador (nivel 1) C5212 "name" no es una referencia con nombre válida; se trata como referencia a un archivo
Advertencia del compilador (nivel 1) C5213 la referencia con nombre "name" se trata como una partición con nombre, pero no se ha especificado el nombre; se trata como referencia a un archivo
Advertencia del compilador (nivel 4, desactivada) C5214 la aplicación de "modifier" a un operando con un tipo calificado volatile está en desuso en C++20
Advertencia del compilador (nivel 4, desactivada) C5215 "name" un parámetro de función con un tipo calificado volatile está en desuso en C++20
Advertencia del compilador (nivel 4, desactivada) C5216 "name" un tipo de valor devuelto calificado volatile está en desuso en C++20
Advertencia del compilador (nivel 4, desactivada) C5217 una declaración de enlace estructurado que incluye volatile está en desuso en C++20
Advertencia del compilador (nivel 1) C5218 puede que las eliminaciones por destrucción n se comporten según lo previsto cuando se usan los modificadores no conformes "/Zc:sizedDealloc-" o "/Zc:alignedNew-"
Advertencia del compilador (nivel 2, desactivada) C5219 conversión implícita de "type-1" a "type-2"; posible pérdida de datos
Advertencia del compilador (nivel 4, desactivada) C5220 "name": un miembro de datos no estático con un tipo calificado volatile ya no implica que los constructores de copia/movimiento generados por el compilador y los operadores de asignación de copia o movimiento no sean triviales
Advertencia del compilador (nivel 1) C5221 xfg::rename está en desuso.
Advertencia del compilador (nivel 3) C5222 "attribute-name": todos los nombres de atributo sin ámbito están reservados para la estandarización futura
Advertencia del compilador (nivel 3) C5223 todos los nombres de atributo del espacio de nombres de atributo "msvc" están reservados para la implementación
Advertencia del compilador (nivel 3) C5224 todos los nombres de atributo del espacio de nombres de atributo "namespace-name" están reservados para la estandarización futura
Advertencia del compilador (nivel 1) C5225 "symbol": la función insertada exportada definida en un fragmento de módulo privado es una extensión no estándar
Advertencia del compilador (nivel 1) C5226 "symbol": la plantilla exportada definida en el fragmento del módulo privado no tiene ninguna creación de instancias accesible
Advertencia del compilador (nivel 4) C5227 extensión no estándar; se resolvió "symbol" como "value", que no es visible con /permissive- activado.
Advertencia del compilador (nivel 4) C5228 extensión no estándar; se resolvió "identifier" como un miembro de una base dependiente. Esta búsqueda no se permite en /permissive-.
Advertencia del compilador (nivel 4) C5229 extensión no estándar; la función friend oculta "function-name" se encontró por búsqueda de nombres que no se permite en /permissive-.
Advertencia del compilador C5230 extensión no estándar; se resolvió "identifier" como "symbol-1" en /permissive. En /permissive-, se resolvería como "symbol-2".
Advertencia del compilador (nivel 3) C5231 no se debe iniciar la expresión "'co_await promise.final_suspend()"
Advertencia del compilador (nivel 1) C5232 en C++20, esta comparación llama a "name" de manera recursiva
Advertencia del compilador (nivel 4, desactivada) C5233 la captura lambda explícita "identifier" no se usa
Advertencia del compilador (nivel 1) C5234 error del sistema de archivos: "filename" no es un nombre de encabezado válido; se omite
Advertencia del compilador (nivel 1) C5235 error de análisis de JSON: message; se omite "filename"
Advertencia del compilador (nivel 1) C5236 JSON con formato incorrecto: message; se omite "filename"
Advertencia del compilador (nivel 1) C5237 no se puede resolver la entrada de la unidad de encabezado "name" en un archivo de encabezado de "filename"; se omite la entrada
Advertencia del compilador (nivel 1) C5238 error del sistema de archivos: no se puede abrir "filename" para lectura; se omite
Advertencia del compilador (nivel 4) C5239 'símbolo': posiblemente se produzca una función llamada desde una función declarada __declspec(nothrow). Es posible que ocurra un comportamiento indefinido si se genera una excepción.
Advertencia del compilador (nivel 4) C5240 "attribute-name": el atributo se omite en esta posición sintáctica
Advertencia del compilador (nivel 1) C5241 el uso de "/exportHeader" para buscar el nombre de encabezado está en desuso; es preferible usar "/headerName:name value=filename"
Advertencia del compilador (nivel 1) C5242 error de sintaxis en pragma "identifier"
Advertencia del compilador (nivel 1, desactivada) C5243 "type-name": el uso de la clase incompleta "class-name" puede provocar una posible infracción de regla de definición debido a la limitación de ABI
Advertencia del compilador (nivel 1) C5244 "#include <filename>" en el purview del módulo "module-name-1" parece erróneo. Considere la posibilidad de mover la directiva antes de la declaración de módulo o reemplazar la inclusión de texto por "import <module-name-2>;".
Advertencia del compilador (nivel 4, desactivada) C5245 "function": se quitó la función sin referencia con vinculación interna
Advertencia del compilador (nivel 1, desactivada) C5246 "member": la inicialización de un subobjeto debe encapsularse entre llaves
Advertencia del compilador (nivel 1, desactivada) C5247 La sección "section-name" está reservada para la inicialización dinámica de C++. La creación manual de la sección interferirá con la inicialización dinámica de C++ y puede provocar un comportamiento no definido
Advertencia del compilador (nivel 1, desactivada) C5248 La sección "section-name" está reservada para la inicialización dinámica de C++. Las variables que se colocan manualmente en la sección se pueden optimizar y su orden en relación con los inicializadores dinámicos generados por el compilador no está especificado.
Advertencia del compilador (nivel 1, desactivada) C5249 "bitfield" del tipo "enumeration_name" tiene enumeradores con nombre con valores que no se pueden representar en el ancho de campo de bits dado de "bitfield_width".
Advertencia del compilador (nivel 3, desactivada) C5250 "function_name": función intrínseca no declarada.
Advertencia del compilador (nivel 4, desactivada) C5251 segment-name se modificó después de incluir el encabezado
Advertencia del compilador (nivel 4) C5252 Varios tipos diferentes dieron como resultado el mismo hash de tipo XFG hash-value; el PDB solo registrará la información de uno de ellos
Advertencia del compilador (nivel 4) C5253 una expresión lambda no local no puede tener un valor predeterminado de captura
Advertencia del compilador (nivel 4, desactivada) C5254 la característica de lenguaje 'terse static assert' requiere la marca de compilador '/std:c++17'
Advertencia del compilador (nivel 3) C5255 se ha encontrado un carácter bidireccional no terminado: 'U+XXXX'
Advertencia del compilador (nivel 1, desactivada) C5256 'enumeration': una declaración no definitoria de una enumeración con tipo subyacente fijo solo está permitida como declaración independiente
Advertencia del compilador (nivel 1 o 4) C5257 'enumeration': la enumeración se declaró anteriormente sin un tipo subyacente fijo
Advertencia del compilador (nivel 4, desactivada) C5258 no se requiere captura explícita de 'symbol' para este uso
Advertencia del compilador (nivel 4, desactivado) C5259 'specialized-type': la especialización explícita requiere 'plantilla <>'
Advertencia del compilador (nivel 1) C5260 la variable constante 'nombre de variable' tiene vinculación interna en un contexto de archivo de encabezado incluido, pero vinculación externa en contexto de unidad de encabezado importada; considere la posibilidad de declararla "en línea" también si se compartirá entre unidades de traducción o "estática" para expresar su intención de usarla localmente en esta unidad de traducción
Advertencia del compilador (nivel 2) C5261 ningún tipo entero puede representar todos los valores del enumerador en la enumeración 'nombre de enumeración'
Advertencia del compilador (nivel 1, error, desactivado) C5262 aquí se produce un fallo implícito; ¿le falta una instrucción break? Uso de [[fallthrough]] cuando se omite intencionadamente una instrucción break entre casos
Advertencia del compilador (nivel 4, desactivado) C5263 llamar a "std::move" en un objeto temporal impide la elisión de copia
Advertencia del compilador (nivel 4, desactivado) C5264 'nombre de variable': no se usa la variable 'const'
Advertencia del compilador (nivel 1) C5265 no se puede abrir la ruta de acceso de búsqueda 'ruta de acceso'
Advertencia del compilador (nivel 4, desactivado) C5266 El calificador 'const' en el tipo de valor devuelto no tiene ningún efecto
Advertencia del compilador C5267 definición del operador de asignación o constructor de copia implícito para 'tipo' está en desuso porque tiene un operador de asignación o constructor de copia proporcionado por el usuario
Advertencia del compilador (nivel 1) C5268 No se pudo asignar memoria en la dirección fija 0xdirección. Use /Yb para especificar una base de direcciones específica si se requieren archivos .pch idénticos a bits.
Advertencia del compilador (nivel 1) C5269 No se pudo asignar memoria PCH en la dirección fija 0xdirección. Use /Ym para especificar una base de direcciones específica si se requieren archivos .pch idénticos a bits.
Advertencia del compilador (nivel 3) C5270 'valor' no está permitido para la opción 'nombre del modificador'; los valores permitidos son: lista de valores
Advertencia del compilador (nivel 4) C5271 el ensamblado importado previamente "assembly1" tiene el mismo nombre que el ensamblado "assembly2" que se está importando. ¿Es esto intencional?
Advertencia del compilador (nivel 1) C5272 iniciar un objeto de tipo no copiable "tipo" no es estándar. Si se necesita una copia en runtime, se realizará como si memcpy.
Advertencia del compilador (nivel 1) C5273 cambio de comportamiento: _Alignas en el tipo anónimo ya no se omite (los miembros promocionados se alinearán)
Advertencia del compilador (nivel 1) C5274 cambio de comportamiento: _Alignas ya no se aplica al tipo "tipo" (solo se aplica a objetos de datos declarados)
Advertencia del compilador (error) C5275 montaje de fachada 'nombre' que se importa en '/clr'; ¿falta la opción '/clr:netcore'?
Advertencia del compilador (nivel 1, error) C5300 ''#pragma omp atomic'': el operando izquierdo de 'operator' tiene que coincidir con el lado izquierdo de assignment-expression
advertencia del compilador de(nivel 1) C5301 '#pragma omp for': 'índice de bucle' se incrementa mientras que la condición del bucle usa 'comparación'; ¿bucle infinito?
Advertencia del compilador (nivel 1) C5302 '#pragma omp for': 'índice de bucle' disminuye mientras que la condición del bucle usa 'comparación'; ¿bucle infinito?
Advertencia del compilador (nivel 1) C5303 la función marcada con [[msvc::intrinsic]] no dio lugar a una conversión sin operación
Advertencia del compilador (nivel 1) C5304 una declaración designada por la declaración de uso 'nombre1' exportada desde este módulo tiene vinculación interna y el uso de este nombre fuera del módulo está mal formado; considere la posibilidad de declarar "nombre2" "inline" para usarlo fuera de este módulo
Advertencia del compilador (nivel 1) C5305 'nombre': se omite una declaración de creación de instancias explícita que sigue una definición de creación de instancias explícita

Consulte también

Advertencias y errores de las herramientas de compilación y del compilador de C/C++
Advertencias del compilador de C4000 a C5999