Compartir a través de


Errores del compilador de C3100 a C3199

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 C3100 'identifier': calificador de atributo desconocido
Error del compilador C3101 expresión no válida para el argumento de atributo con nombre 'identifier'
Error del compilador C3102 Obsoleto.
Error del compilador C3103 'identifier': argumento con nombre repetido
Error del compilador C3104 argumento de atributo no válido
Error del compilador C3105 'symbol': no se puede usar como atributo
Error del compilador C3106 'attribute': los argumentos sin nombre deben preceder a los argumentos con nombre
Error del compilador C3107 'attribute': no se pueden definir funciones de miembro de atributos nativos
Error del compilador C3108 no se puede deducir un tipo, ya que una lista de inicializadores no es una expresión
Error del compilador C3109 'identifier': los métodos de interfaz deben utilizar la convención de llamada '__stdcall' o '__cdecl'
Error del compilador C3110 'function': no se puede sobrecargar un método de interfaz COM
Error del compilador C3111 No se puede usar una lista de inicializadores como argumento predeterminado para un parámetro de plantilla
Error del compilador C3112 'interface': una interfaz solo se puede declarar en un ámbito global o de espacio de nombres
Error del compilador C3113 'interface/enum' no puede ser template/generic
Error del compilador C3114 'identifier': no es un argumento de atributo con nombre válido
Error del compilador C3115 'attribute'este atributo no se permite en 'construct'
Error del compilador C3116 'specifier': clase de almacenamiento no válida para el método de interfaz
Error del compilador C3117 'interface': una interfaz solo puede tener una clase base
Error del compilador C3118 'interface': las interfaces no admiten herencia virtual
Error del compilador C3119 no se permite alignas(void)
Error del compilador C3120 'identifier': los métodos de interfaz no pueden utilizar una lista de argumentos de variable
Error del compilador C3121 no se puede cambiar el GUID para la clase 'class'
Error del compilador C3122 'interface': una interfaz genérica de WinRT no puede tener GUID
Error del compilador C3123 una interfaz genérica de WinRT no puede tener restricciones
Error del compilador C3124 'signed char' no es un tipo de datos de WinRT válido. En su lugar, use 'unsigned char', 'wchar_t' o 'signed short'.
Error del compilador C3125 'type': el tipo no se puede derivar directa o indirectamente de 'Platform::Exception'
Error del compilador C3126 no se puede definir una unión 'union' dentro del tipo 'type' managed/WinRT
Error del compilador C3127 'type': el rasgo 'trait' solamente se puede usar en una clase ref de WinRT
Error del compilador C3128 'type' no tiene ningún objeto vtable especificado en 'type'
Error del compilador C3129 'type': __default_vptr_for_base solamente se puede usar en bases y tipos polimórficos definidos localmente
Error del compilador C3130 Error interno del compilador: error al escribir bloque de código insertado en PDB
Error del compilador C3131 el proyecto debe tener un atributo 'module' con una propiedad 'name'
Error del compilador C3132 'parameter': las matrices de parámetros solamente se pueden aplicar a un argumento formal del tipo 'matriz managed/WinRT de una sola dimensión'
Error del compilador C3133 No se puede aplicar atributos a varargs de C++
Error del compilador C3134 'value': el valor del argumento de atributo 'argument' no tiene un tipo 'type' válido
Error del compilador C3135 'identifier': una propiedad no puede tener un tipo 'const' o 'volatile'
Error del compilador C3136 'interface': una interfaz COM solo puede heredar de otra interfaz COM; 'interface' no es una interfaz COM
Error del compilador C3137 'identifier': no se puede inicializar una propiedad
Error del compilador C3138 'identifier': una interfaz 'attribute' debe heredar de IDispatch o de una interfaz que hereda de IDispatch
Error del compilador C3139 'type': no se puede exportar un tipo definido por el usuario sin miembros
Error del compilador C3140 no se pueden tener varios atributos "module" en la misma unidad de compilación
Error del compilador C3141 'interface': las interfaces solo admiten herencia pública
Error del compilador C3142 'property': no se puede adquirir la dirección de una propiedad
Error del compilador C3143 'argument': el argumento de atributo no puede tener valores múltiples
Error del compilador C3144 'attribute': el atributo requiere argumentos explícitos; 'argument' no tiene nombre
Error del compilador C3145 'identifier': la variable global o estática no puede tener el tipo 'type' managed/WinRT
Error del compilador C3146 Obsoleto.
Error del compilador C3147 Obsoleto.
Error del compilador C3148 Obsoleto.
Error del compilador C3149 'type': no utilice este tipo aquí sin 'token' de nivel superior
Error del compilador C3150 'construct': 'attribute' solo se puede aplicar a una clase, struct, interfaz, matriz o puntero
Error del compilador C3151 Obsoleto.
Error del compilador C3152 'function': 'keyword' solo se puede aplicar a una función de clase, struct o miembro virtual
Error del compilador C3153 'interface': no se puede crear una instancia de una interfaz
Error del compilador C3154 Se esperaba ',' antes de los puntos suspensivos. No se admiten puntos suspensivos separados por valores que no sean coma en funciones de matriz.
Error del compilador C3155 no se permiten atributos en un indizador de propiedad
Error del compilador C3156 'class': no se puede tener una definición local de un tipo managed/WinRT
Error del compilador C3157 el atributo ParamArray solamente se puede aplicar al último parámetro
Error del compilador C3158 'function': 'keyword' solamente se puede aplicar a una función miembro virtual
Error del compilador C3159 'identifier': no se puede declarar una matriz de punteros a tipo de valor
Error del compilador C3160 'type': un miembro de datos de una clase managed/WinRT no puede tener este tipo
Error del compilador C3161 'interface': el anidamiento de una clase, struct o interfaz en una interfaz no es válido; el anidamiento de una interfaz en una clase o un struct no es válido
Error del compilador C3162 'type': un tipo de referencia con destructor no se puede utilizar como tipo de miembro de datos estático 'member'
Error del compilador C3163 'class': atributos incoherentes con la declaración anterior
Error del compilador C3164 Obsoleto.
Error del compilador C3165 'value': no se puede convertir en un valor integral o de punto flotante
Error del compilador C3166 Obsoleto. 'type': un miembro de datos de una clase managed/WinRT no puede tener el tipo 'pointer_type a managed_pointer_type interior'
Error del compilador C3167 No se puede inicializar .NET Framework. Asegúrese de que está instalado
Error del compilador C3168 'type': tipo subyacente no válido para la enumeración
Error del compilador C3169 'type': no se puede deducir el tipo de 'auto' a partir de 'type'
Error del compilador C3170 no se pueden tener identificadores de módulo distintos en un proyecto
Error del compilador C3171 'module': no se pueden especificar atributos module distintos en un proyecto
Error del compilador C3172 'identifier': no se pueden especificar distintos atributos idl_module en un proyecto
Error del compilador C3173 la versión no coincide en la combinación de IDL
Error del compilador C3174 no se especificó un atributo de módulo
Error del compilador C3175 'function': no se puede llamar a un método de tipo administrado desde la función no administrada 'function'
Error del compilador C3176 'type': no se puede declarar un tipo de valor local
Error del compilador C3177 no se puede aplicar una función de conversión a un tipo que contenga 'type' (Obsoleto en Visual Studio 2022).
Error del compilador C3178 'type': no se puede utilizar ParamArray en una función con argumentos predeterminados (Obsoleto en Visual Studio 2022).
Error del compilador C3179 no se permite un tipo managed/WinRT sin nombre
Error del compilador C3180 'type': el nombre de tipo supera el límite de metadatos de 'number' caracteres
Error del compilador C3181 'type': operando no válido para operator
Error del compilador C3182 'type': no se permiten declaraciones using de miembro o declaraciones de acceso dentro de un tipo managed/WinRT
Error del compilador C3183 no se puede definir class, struct o union sin nombre dentro del tipo 'class' managed/WinRT
Error del compilador C3184 Obsoleto.
Error del compilador C3185 'typeid': se utilizó en el tipo 'type' managed/WinRT; utilice 'operator' en su lugar
Error del compilador C3186 Obsoleto.
Error del compilador C3187 'identifier': solo está disponible dentro del cuerpo de una función
Error del compilador C3188 Obsoleto.
Error del compilador C3189 'typeid<declarator>': esta sintaxis ya no se admite, use::typeid en su lugar (Obsoleto en Visual Studio 2022).
Error del compilador C3190 'declarator' con los argumentos de plantilla proporcionados no crea una instancia explícita de ninguna función miembro de 'type'
Error del compilador C3191 Obsoleto.
Error del compilador C3192 error de sintaxis: '^' no es un operador de prefijo (¿pretendía utilizar '*'?)
Error del compilador C3193 'construct': requiere la opción de la línea de comandos '/clr' o '/ZW'
Error del compilador C3194 'type': un tipo de valor no puede tener un operador de asignación
Error del compilador C3195 'keyword': está reservado y no se puede utilizar como miembro de una clase ref o de un tipo de valor. Los operadores CLR o WinRT se deben definir mediante la palabra clave 'operator'
Error del compilador C3196 'identifier': se ha utilizado más de una vez
Error del compilador C3197 'keyword': solamente se puede utilizar en definiciones
Error del compilador C3198 uso no válido de pragmas de punto flotante: el pragma fenv_access solamente funciona en el modo preciso
Error del compilador C3199 uso no válido de pragmas de punto flotante: no se admiten excepciones en el modo no preciso

Consulte también

Advertencias y errores de las herramientas de compilación y del compilador de C/C++
Errores del compilador de C2000 a C3999 y de C7000 a C7999