VC ++: No se puede deshabilitar selectivamente las advertencias de C4505 mediante #pragma warning

Fuente: Soporte técnico de Microsoft

PUBLICACIÓN RÁPIDA

PUBLICACIÓN RÁPIDA ARTÍCULOS PROPORCIONAN INFORMACIÓN DIRECTAMENTE DESDE DENTRO DE LA ORGANIZACIÓN DE SOPORTE TÉCNICO DE MICROSOFT. LA INFORMACIÓN CONTENIDA EN ESTE DOCUMENTO SE CREA EN RESPUESTA A EMERGENTES O ÚNICOS TEMAS, O ESTÁ PREVISTO SUPLEMENTO OTRA INFORMACIÓN DE KNOWLEDGE BASE.

Acción



Cuando con #pragma warning(disable:4505) para deshabilitar la advertencia alrededor de una función no procesable establece, a continuación, volver a predeterminado utilizando #pragma warning(default:4505) o un push y pop, establecerá el archivo cpp todo a las advertencias de C4505 predeterminado.



#pragma warning(push)











#pragma warning(disable:4505)











test0() void estático











{











}











#pragma warning(default:4505) 











#pragma warning (POP)









Prueba1 void estático











{











}









test2() void estático











{











}









int _tmain)











{











return 0;











}

Resultado

Al establecer #pragma warning(default:4505) para restablecer la advertencia, permitiría C4505 advertencia para todo el archivo CPP aunque aún estaba deshabilitado.

Causa

Esto es por diseño.  La advertencia C4505 se aplica a una región de código no para una función específica.  La advertencia se realmente comprueba al final de la unidad de compilación selectiva deshabilitar advertencia ths no funcionará.



 









Solución



Por diseño, esta advertencia C4505 no se puede deshabilitar de forma selectiva.

DESCARGO DE RESPONSABILIDAD

NI MICROSOFT NI SUS PROVEEDORES GARANTIZAN O GARANTÍA SOBRE LA IDONEIDAD, FIABILIDAD O EXACTITUD DE LA INFORMACIÓN CONTENIDA EN LOS DOCUMENTOS Y GRÁFICOS RELACIONADOS PUBLICAN EN ESTE SITIO WEB (LOS "MATERIALES") PARA CUALQUIER PROPÓSITO. LOS MATERIALES PUEDEN INCLUIR IMPRECISIONES TÉCNICAS O ERRORES TIPOGRÁFICOS Y PODRÁN REVISARSE EN CUALQUIER MOMENTO SIN PREVIO AVISO.


EN LA MÁXIMA MEDIDA PERMITIDA POR APLICABLE LEY, MICROSOFT Y SUS PROVEEDORES RENUNCIAN A Y EXCLUIR TODAS LAS REPRESENTACIONES, GARANTÍAS Y CONDICIONES YA SEA EXPRESA, IMPLÍCITA O ESTATUTARIA, INCLUYENDO PERO SIN LIMITARSE A REPRESENTACIONES, GARANTÍAS O CONDICIONES DE TÍTULO, NO INFRACCIÓN, CONDICIÓN SATISFACTORIA O CALIDAD, COMERCIABILIDAD Y APTITUD PARA UN FIN DETERMINADO, CON RESPECTO A LOS MATERIALES.
Propiedades

Id. de artículo: 947783 - Última revisión: 14 ene. 2017 - Revisión: 1

Comentarios