funciones - lenguaje c++ ejemplos
¿Hay alguna forma de deshabilitar los antiguos lanzamientos de estilo c en c++ (2)
Posible duplicado:
¿Cómo encontrar (y reemplazar) todas las conversiones de tipos de datos de estilo C en mi código fuente de C ++?
Actualmente estoy refactorizando un código antiguo y el proyecto en el que estoy trabajando tiene la política de usar solo los nuevos modelos de estilo c ++. Estoy tratando de asegurarme de que no me pierdo ninguno, pero actualmente el enfoque que tomo es bastante burdo, así que me pregunto si hay alguna forma de hacer que los modelos de estilo C antiguo no se compilen en un proyecto de C ++. (o al menos dar una advertencia del compilador si esto no es posible)
Recomiendo usar this Perl script
. A excepción de condiciones inusuales como (void **) & b.ComInterfaceCall, parece que funciona.
Si usa GCC, agregue -Wold-style-cast
a la línea de comando. Eso da advertencias, no errores, pero siempre puede agregar -Werror
, que convierte las advertencias ( todas las advertencias) en errores.
En cuanto a otros compiladores, parece que ningún otro compilador tiene una opción de advertencia.
Pero eso realmente no importa: GCC es un software libre, y está disponible en prácticamente cualquier cosa que pueda distinguir entre ceros y unos. Simplemente instálelo junto con su compilador principal en su estación de trabajo, o en su sistema de integración continua, y utilícelo solo para esta tarea. Encontrará que tener dos compiladores de C ++ a la mano es muy conveniente en general.
Si instalar GCC realmente no es una opción para usted, es posible que desee echar un vistazo a ¿Cómo encontrar (y reemplazar) todos los antiguos moldes de tipo de datos de estilo C en mi código fuente de C ++? , donde se discuten algunas alternativas.