Possible Duplicate:
How to find (and replace) all old C-style data type casts in my C++ source code?
我目前正在重构一些旧代码,并且我正在处理的项目的政策是只使用新的 c++ 样式转换。我试图确保我不会错过任何东西,但目前我采用的方法非常粗糙,所以我想知道是否有任何方法可以使旧的 c 样式转换无法在 c++ 项目中编译? (或者如果不可能,至少给出编译器警告)
最佳答案
如果您使用 GCC,请将 -Wold-style-cast
添加到命令行。这会给出警告,而不是错误,但您始终可以添加 -Werror
,它将警告(所有警告)变成错误。
至于其他编译器,似乎没有其他编译器有这样的警告选项。
但这并不重要:GCC 是自由软件,几乎可以用于任何可以区分零和一的东西。只需将它与您的工作站上的主编译器一起安装,或安装到您的持续集成系统中,并将其仅用于此任务。您会发现手头有两个 C++ 编译器通常非常方便。
如果您确实不适合安装 GCC,您可能想看看 How to find (and replace) all old C-style data type casts in my C++ source code? ,其中讨论了 一些 替代方案。
关于c++ - 有没有办法在 c++ 中禁用旧的 c 样式转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5922992/