Compartir a través de


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