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