c++ - 有没有办法在 c++ 中禁用旧的 c 样式转换

标签 c++ syntax casting

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/

相关文章:

c++ - 共享内存包含指针

C++嵌套模板参数查找失败

excel - 语法错误CountIfs函数多个条件

java - += 和 =+ 有什么区别?

ios - 将 NSObject 转换为 double

c# - 在c#中将动态对象转换为动态类型的数组

c++ - VMR9 是否支持原生 YUV 渲染?

c++ - OpenCV 相机初始化失败

emacs - 在 emacs 中,如何强制某些字符作为语句结束符?

java - 为什么没有 String.valueOf(short a);