Advertencias del compilador de Microsoft C/C++ C4600 a C4799
En los artículos de esta sección se describen los mensajes de advertencia del compilador de Microsoft C/C++ C4600 a C4799.
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) C4600 | #pragma "marco name": se esperaba una cadena no vacía válida |
Advertencia del compilador (nivel 1) C4602 | #pragma pop_macro: "macro name" no hay ninguna #pragma push_macro anterior para este identificador |
Advertencia del compilador (nivel 1) C4603 | "identifier": no se definió la macro o la definición es distinta después del uso del encabezado precompilado |
Advertencia del compilador (nivel 1) C4604 | "type": el paso de un argumento por valor entre los límites nativo y administrado requiere un constructor de copia válido. De lo contrario, el comportamiento en tiempo de ejecución no está definido |
Advertencia del compilador (nivel 1) C4605 | Se especificó "/Dmacro" en la línea de comandos actual, pero no se especificó al compilar el encabezado precompilado |
Advertencia del compilador (nivel 1) C4606 | advertencia #pragma: se omitió "warning_number"; las advertencias de Code Analysis no están asociadas con niveles de advertencia |
Advertencia del compilador (nivel 3) C4608 | “union_member” ya ha sido inicializado por otro miembro union en la lista de inicializadores, “union_member” |
Advertencia del compilador (nivel 3, error) C4609 | "type1" deriva de la interfaz predeterminada "interface" en el tipo "type2". Use otra interfaz predeterminada para "type1" o interrumpa la relación base/derivada. |
Advertencia del compilador (nivel 4) C4610 | no se puede crear nunca una instancia del objeto "class"; se requiere un constructor definido por el usuario |
Advertencia del compilador (nivel 4) C4611 | la interacción entre "function" y la destrucción de objetos de C++ no es transportable |
Advertencia del compilador (nivel 1) C4612 | error en el nombre de archivo de inclusión |
Advertencia del compilador (nivel 1) C4613 | "symbol": no se puede cambiar la clase de segmento |
Advertencia del compilador (nivel 1) C4615 | #pragma warning: tipo de advertencia de usuario desconocido |
Advertencia del compilador (nivel 1) C4616 | advertencia #pragma: el número de advertencia "number" no es una advertencia válida del compilador |
Advertencia del compilador (nivel 1) C4618 | los parámetros de tipo pragma incluían una cadena vacía; se omitió pragma |
Advertencia del compilador (nivel 3) C4619 | #pragma warning: no existe el número de advertencia "number" |
Advertencia del compilador (nivel 1) C4620 | no se encontró ninguna forma postfija de 'operador ++' para el tipo 'tipo'; con la forma de prefijo. |
Advertencia del compilador (nivel 1) C4621 | no se encontró ninguna forma postfija de "operator--" para el tipo "type"; con la forma de prefijo |
Advertencia del compilador (nivel 3) C4622 | reemplazando la información de depuración formada durante la creación del encabezado precompilado en el archivo objeto: "file" |
Advertencia del compilador (nivel 4) C4623 | "derived class": el constructor predeterminado se definió implícitamente como eliminado porque un constructor predeterminado de clase base es inaccesible o se eliminó |
Advertencia del compilador (nivel 1) C4624 | "derived class": el destructor se definió implícitamente como eliminado porque un destructor de clase base es inaccesible o se ha eliminado |
Advertencia del compilador (nivel 4) C4625 | "derived class": el constructor de copias se definió implícitamente como eliminado porque un constructor de copias de clase base es inaccesible o se ha eliminado |
Advertencia del compilador (nivel 4) C4626 | "derived class": el operador de asignaciones se definió implícitamente como eliminado porque un operador de asignaciones es inaccesible o se ha eliminado |
Advertencia del compilador (nivel 1) C4627 | "<identifier>": se omite al buscar el uso del encabezado precompilado |
Advertencia del compilador (nivel 1) C4628 | los digramas no son compatibles con -Ze. La secuencia de caracteres "digraph" no interpretado como token alternativo de "%s" |
Advertencia del compilador (nivel 4) C4629 | Dígrafo usado, secuencia de caracteres 'dígrafo' interpretada como token 'char' (inserte un espacio entre los dos caracteres si no es lo que tenía previsto) |
Advertencia del compilador (nivel 1) C4630 | "symbol": el especificador de clase de almacenamiento "extern" no es válido en la definición de miembro |
Advertencia del compilador (nivel 2) C4631 | MSXML o XPath no disponible; no se procesarán los comentarios del documento XML. reason |
Advertencia del compilador (nivel 1) C4632 | comentario del documento XML: archivo - acceso denegado: motivo |
Advertencia del compilador (nivel 3) C4633 | destino del comentario del documento XML: error: motivo |
Advertencia del compilador (nivel 4) C4634 | destino del comentario del documento XML: no se puede aplicar: motivo |
Advertencia del compilador (nivel 3) C4635 | destino del comentario del documento XML: XML incorrectamente formado: motivo |
Advertencia del compilador (nivel 3) C4636 | Comentario del documento XML aplicado a construcción: la etiqueta requiere que un atributo "attribute" no esté vacío. |
Advertencia del compilador (niveles 3 y 4) C4637 | Destino del comentario de documento XML: etiqueta <include> descartada. Motivo |
Advertencia del compilador (nivel 3) C4638 | Destino del comentario de documento XML: referencia a símbolo desconocido "symbol". |
Advertencia del compilador (nivel 4) C4639 | Error MSXML; los comentarios del documento XML no se procesarán. Motivo |
Advertencia del compilador (nivel 3) C4640 | "instance": la construcción del objeto estático local no es segura para subprocesos |
Advertencia del compilador (nivel 3) C4641 | El comentario del documento XML tiene una referencia cruzada ambigua: |
Advertencia del compilador (nivel 1) C4642 | 'clase': no se pudieron importar las restricciones para el parámetro genérico 'nombre' |
Advertencia del compilador (nivel 4, desactivado) C4643 | El estándar C++ no admite reenvíos declarando "identifier" en el espacio de nombres std. |
Advertencia del compilador (nivel 1) C4644 | el uso del patrón offsetof basado en macros en las expresiones de constante no es estándar; use el patrón offsetof definido en la biblioteca estándar de C++ en su lugar |
Advertencia del compilador (nivel 3) C4645 | la función declarada con __declspec(noreturn) tiene una instrucción return |
Advertencia del compilador (nivel 3) C4646 | la función declarada con __declspec(noreturn) tiene un tipo de valor devuelto distinto de void |
Advertencia del compilador (nivel 3) C4647 | cambio de comportamiento: __is_pod(type) tiene un valor distinto en versiones anteriores |
Advertencia del compilador (nivel 3) C4648 | el atributo estándar "carries_dependency" se omite |
Advertencia del compilador (nivel 3) C4649 | los atributos se pasan por alto en este contexto |
Advertencia del compilador (nivel 1) C4650 | la información de depuración no está en un encabezado precompilado; solo estarán disponibles los símbolos globales del encabezado |
Advertencia del compilador (nivel 1) C4651 | se especificó "definition" para el encabezado precompilado, pero no para la compilación actual |
Advertencia del compilador (nivel 1) C4652 | la opción del compilador "option" no es coherente con el encabezado precompilado; la opción de la línea de comandos actual invalidará la definida en el encabezado precompilado |
Advertencia del compilador (nivel 2) C4653 | la opción del compilador "option" no es coherente con el encabezado precompilado; se omitió la opción de la línea de comandos actual |
Advertencia del compilador (nivel 4) C4654 | El código colocado delante del valor include de la línea del encabezado precompilado se omitirá. Agregue el código al encabezado precompilado. |
Advertencia del compilador (nivel 1) C4655 | "symbol": el tipo de variable es nuevo desde la compilación más reciente, o bien se definió de manera distinta en otro lugar |
Advertencia del compilador (nivel 1) C4656 | "symbol": el tipo de datos es nuevo, ha cambiado desde la compilación más reciente, o bien se definió de manera distinta en otro lugar |
Advertencia del compilador (nivel 1) C4657 | la expresión requiere un tipo de datos nuevo desde la compilación más reciente |
Advertencia del compilador (nivel 1) C4658 | "function": el prototipo de función es nuevo desde la compilación más reciente o se declaró de manera distinta en otro lugar |
Advertencia del compilador (nivel 1) C4659 | #pragma "pragma": el uso del segmento reservado "segment" tiene un comportamiento no definido; utilice #pragma comment(linker, ...) |
Advertencia del compilador (nivel 1) C4661 | "identifier": no se ha proporcionado una definición adecuada para la solicitud de creación de una instancia de plantilla explícita |
Advertencia del compilador (nivel 1) C4662 | creación de instancias explícita; la clase de plantilla 'identifier1' no tiene definición a partir de la cual especializar 'identifier2' |
Advertencia del compilador (nivel 1) C4667 | "function": no hay ninguna plantilla de función definida que coincida con la creación de una instancia forzada |
Advertencia del compilador (nivel 4) C4668 | "symbol" no está definido como macro de preprocesador y se reemplaza por "0" para "directive" |
Advertencia del compilador (nivel 1) C4669 | "cast": conversión no segura: "class" es un objeto de tipo administrado |
Advertencia del compilador (nivel 4) C4670 | "identifier": no se puede obtener acceso a esta clase base |
Advertencia del compilador (nivel 4) C4671 | "identifier": no se puede obtener acceso al constructor de copia |
Advertencia del compilador (nivel 4) C4672 | "identifier1": ambiguo. Se vio primero como 'identifier2' |
Advertencia del compilador (nivel 4) C4673 | si se produce "identifier", los tipos siguientes no se considerarán en el bloque catch |
Advertencia del compilador (nivel 1) C4674 | 'method' se debe declarar como 'static' y tener exactamente un parámetro |
Advertencia del compilador (nivel 4) C4676 | "%s": no se puede obtener acceso al destructor |
Advertencia del compilador (nivel 1) C4677 | "function": la signatura de un miembro no privado contiene un tipo nativo privado de ensamblado "private_type" |
Advertencia del compilador (nivel 1) C4678 | La clase base 'base_type' es menos accesible que 'derived_type' |
Advertencia del compilador (nivel 1) C4679 | "member": no se pudo importar el miembro |
Advertencia del compilador (nivel 4) C4680 | "class": una coclase no especifica una interfaz predeterminada |
Advertencia del compilador (nivel 4) C4681 | "class": la coclase no especifica una interfaz predeterminada que sea un origen de eventos |
Advertencia del compilador (nivel 4) C4682 | "parameter": no se especificó ningún atributo de parámetro direccional y se establece en [in] de manera predeterminada |
Advertencia del compilador (nivel 1) C4683 | "function": el origen de eventos tiene un parámetro "out"; tenga cuidado al enlazar varios controladores de eventos |
Advertencia del compilador (nivel 1) C4684 | "attribute": ¡¡ADVERTENCIA!! el atributo puede hacer que se genere código no válido: utilícelo con precaución |
Advertencia del compilador (nivel 1) C4685 | se esperaba ">>", pero se encontró ">>" al analizar los parámetros de plantilla |
Advertencia del compilador (nivel 3) C4686 | "user-defined type": posible cambio de comportamiento, cambio en la convención de llamada devuelta de tipo definido por el usuario |
Advertencia del compilador (error) C4687 | "class": una clase abstracta sellada no puede implementar una interfaz "interface" |
Advertencia del compilador (nivel 1) C4688 | 'constraint': la lista de restricciones contiene un tipo privado de ensamblado 'type' |
Advertencia del compilador (nivel 1) C4689 | "%c": carácter no admitido en #pragma detect_mismatch; se omitió #pragma |
Advertencia del compilador (nivel 4) C4690 | [ emitidl( pop ) ]: hay más elementos pop que push |
Advertencia del compilador (nivel 1) C4691 | "%$T": se esperaba el tipo al que se hace referencia en el ensamblado "file" sin referencia; se utilizó el tipo definido en la unidad de traducción actual |
Advertencia del compilador (nivel 1) C4692 | "function": la signatura de un miembro no privado contiene un tipo nativo privado de ensamblado "native_type" |
Advertencia del compilador (nivel 1, error) C4693 | "class": una clase abstracta sellada no puede tener miembros de instancia "instance member" |
Advertencia del compilador (nivel 1, error) C4694 | "class": una clase abstracta sellada no puede tener una clase base "base_class" |
Advertencia del compilador (nivel 1) C4695 | #pragma execution_character_set: "character set" no es un argumento admitido: actualmente solo se admite "UTF-8" |
Advertencia del compilador (nivel 1) C4696 | Opción /ZBvalue1 fuera del intervalo; se utiliza "value2" |
Advertencia del compilador (nivel 3) C4698 | "característica" se incluye con fines de evaluación y está sujeto a cambios o a que se elimine en próximas actualizaciones. |
Advertencia del compilador (niveles 1 y 4) C4700 | se utilizó la variable local "name" sin inicializar |
Advertencia del compilador (nivel 4) C4701 | posiblemente se utilizó la variable local "name" sin inicializar |
Advertencia del compilador (nivel 4) C4702 | no se puede tener acceso al código |
Advertencia del compilador (nivel 4) C4703 | posiblemente se utilizó la variable de puntero local "%s" sin inicializar |
Advertencia del compilador (nivel 4) C4706 | asignación en la expresión condicional |
Advertencia del compilador (nivel 4) C4709 | operador de comas en la expresión de índice de matriz |
Advertencia del compilador (nivel 4) C4710 | "function": la función no está insertada |
Advertencia del compilador (nivel 1) C4711 | función "function" seleccionada para la expansión automática insertada |
Advertencia del compilador (nivel 4) C4714 | función 'function' marcada como __forceinline no está insertada |
Advertencia del compilador (nivel 1) C4715 | 'función': no todas las rutas de acceso de control devuelven un valor |
Advertencia del compilador (nivel 1, error) C4716 | "function": debe devolver un valor |
Advertencia del compilador (nivel 1) C4717 | "function": recursiva para todas las rutas de acceso de control; la función provocará el desbordamiento de la pila en tiempo de ejecución |
Advertencia del compilador (nivel 4) C4718 | "function call": la llamada recursiva no tiene efectos secundarios; se eliminará |
Advertencia del compilador (nivel 1) C4719 | Se encontró una constante doble al especificar Qfast - utilice "f" como sufijo para indicar precisión sencilla |
Advertencia del compilador (nivel 2) C4720 | informes de ensamblador en línea: "message" |
Advertencia del compilador (nivel 1) C4721 | "function": no está disponible como función intrínseca |
Advertencia del compilador (nivel 1) C4722 | "function": el destructor nunca devuelve un valor, posible fuga de memoria |
Advertencia del compilador (nivel 3) C4723 | posible división por 0 |
Advertencia del compilador (nivel 3) C4724 | posible división (módulo) por 0 |
Advertencia del compilador (nivel 3) C4725 | puede que la instrucción máquina sea incorrecta en algunos equipos Pentium |
Advertencia del compilador C4726 | ARM arch4/4T solamente admite '<cpsr_f> o <spsr_f>' con un valor inmediato |
Advertencia del compilador (nivel 1) C4727 | PCH denominado pch_file con la misma marca de tiempo encontrada en obj_file_1 y obj_file_2. Se usa el primer PCH. |
Advertencia del compilador (nivel 1) C4728 | Se omitió la opción /Yl- porque se requiere una referencia de PCH |
Advertencia del compilador (nivel 4) C4729 | función demasiado grande para advertencias basadas en gráficos de flujos |
Advertencia del compilador (nivel 1) C4730 | "main": la combinación de expresiones de punto flotante y _m64 podría generar un código incorrecto |
Advertencia del compilador (nivel 1) C4731 | "pointer": registro de puntero de marco "register" modificado por código de ensamblado insertado |
Advertencia del compilador (nivel 1) C4732 | en esta arquitectura no se admite "%s" de tipo intrínseco |
Advertencia del compilador (nivel 1) C4733 | Ensamblador insertado que asigna a "FS:0": el controlador no está registrado como controlador seguro |
Advertencia del compilador C4734 | Hay más de 64 000 números de línea en una sección de información de depuración COFF; detenga la emisión de números de línea de depuración COFF DEL módulo 'módulo' |
Advertencia del compilador C4735 | El argumento de atributo align_function 'argumento' no es una potencia de dos y no es positivo. Omitir atributo |
Advertencia del compilador C4736 | Atributo align_function omitido porque no se especificó /Gy |
Advertencia del compilador (nivel 3) C4738 | almacenando el resultado flotante de 32 bits en memoria; posible pérdida de rendimiento |
Advertencia del compilador (nivel 1) C4739 | la referencia a la variable 'var' supera su espacio de almacenamiento |
Advertencia del compilador (nivel 4) C4740 | flow in o flow out del código del ensamblador insertado suprime la optimización global |
Advertencia del compilador (nivel 1) C4742 | "var" tiene una alineación diferente en "file1" y "file2": number y number |
Advertencia del compilador (nivel 1) C4743 | "type" tiene un tamaño diferente en "file1" y "file2": number y number bytes |
Advertencia del compilador (nivel 1) C4744 | "var" tiene un tipo diferente en "file1" y "file2": "type1" y "type2" |
Advertencia del compilador C4745 | No se puede respetar el acceso volátil de 'nombre' debido a su tamaño |
Advertencia del compilador C4746 | el acceso volátil de "expression" está sujeto al valor /volatile:<iso|ms>; considere el uso de las funciones intrínsecas __iso_volatile_load/store |
Advertencia del compilador (nivel 1) C4747 | Llamada a "entrypoint" administrado: no se puede ejecutar código administrado bajo el bloqueo del cargador, incluido el punto de entrada del archivo DLL y las llamadas alcanzadas desde dicho punto |
Advertencia del compilador (nivel 4) C4749 | compatible condicionalmente: offsetof aplicado al tipo de diseño no estándar "type" |
Advertencia del compilador (nivel 1) C4750 | "identifier": función con _alloca() insertada en un bucle |
Advertencia del compilador (nivel 4) C4751 | /arch:AVX no se aplica a las extensiones SIMD de streaming de Intel(R) que están incluidas en el ensamblador insertado |
Advertencia del compilador (nivel 4) C4752 | se encontraron extensiones de vector avanzadas de Intel(R); considere la posibilidad de usar /arch:AVX |
Advertencia del compilador C4753 | No se encuentran límites para el puntero; la función MPX intrínseca se ignorará |
Advertencia del compilador (nivel 4) C4754 | Las reglas de conversión para las operaciones aritméticas de una comparación en %s(%d) significan que no se puede ejecutar una rama. Convierta "%s" en "%s" (o un tipo similar de %d bytes). |
Advertencia del compilador C4755 | Las reglas de conversión para las operaciones aritméticas de una comparación en %s(%d) significan que no se puede ejecutar una rama en una función insertada. Convierta "%s" en "%s" (o un tipo similar de %d bytes). |
Advertencia del compilador (nivel 2) C4756 | desbordamiento en aritmética de constante |
Advertencia del compilador (nivel 4) C4757 | el subíndice es un valor grande sin signo. ¿Deseaba utilizar una constante negativa? |
Advertencia del compilador C4761 | error de tamaño integral en el argumento; conversión proporcionada |
Advertencia del compilador (nivel 4) C4764 | No se pueden alinear objetos catch con elementos mayores de 16 bytes |
Advertencia del compilador (nivel 4) C4767 | el nombre de sección "%s" tiene más de 8 caracteres y el vinculador lo truncará |
Advertencia del compilador (nivel 3) C4768 | los atributos __declspec anteriores a la especificación de la vinculación se omiten |
Advertencia del compilador (nivel 4) C4770 | enumeración "name" validada parcialmente usada como índice |
Advertencia del compilador C4771 | Los límites se deben crear con un puntero simple; la función MPX intrínseca se omitirá |
Advertencia del compilador (nivel 1, error) C4772 | #import hizo referencia a un tipo de una biblioteca de tipos que falta; se utilizó "missing_type" como marcador de posición |
Advertencia del compilador (nivel 4) C4774 | "string": la cadena de formato esperada en el argumento number no es un literal de cadena |
Advertencia del compilador (nivel 3) C4775 | extensión no estándar usada en la cadena de formato "string" de la función "function" |
Advertencia del compilador (nivel 1) C4776 | "%character" no se permite en la cadena de formato de la función "function" |
Advertencia del compilador (nivel 4) C4777 | "function": la cadena de función "string" requiere un argumento del tipo "type1", pero el argumento variádico number tiene el tipo "type2" |
Advertencia del compilador (nivel 3) C4778 | "function": cadena de formato sin finalizar "string" |
Advertencia del compilador (nivel 1) C4788 | "identifier": el identificador se truncó a "number" caracteres |
Advertencia del compilador (nivel 1) C4789 | se producirá una saturación del búfer "identifier" con un tamaño de N bytes; se escribirán M bytes empezando en el desplazamiento L |
Advertencia del compilador (nivel 2) C4792 | función "%s" declarada usando sysimport a la que se hace referencia desde código nativo; biblioteca de importación requerida para vincular |
Advertencia del compilador (niveles 1 y 3) C4793 | "function": función compilada como nativa: "reason" |
Advertencia del compilador (nivel 1) C4794 | el segmento de la variable "%s" de almacenamiento local para el subproceso se cambió de "%s" a "%s" |
Advertencia del compilador C4798 | código nativo generado para la función de código empaquetado 'nombre' con el controlador de excepciones o semántica de desenredo |
Advertencia del compilador (nivel 1) C4799 | la función "function" no tiene ninguna instrucción EMMS |
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