在c++ gcc中使用static_cast时如何生成警告?

问题描述 投票:0回答:1

我需要从项目中删除 static_cast 的使用,并在添加 static_cast 时阻止正常编译,gcc 文档没有说明使用 static_cast 时如何启用警告。

我在 gcc 文档中搜索了 static_cast 关键字,但没有找到任何合适的内容。

c++ gcc static-cast
1个回答
0
投票

我非常怀疑是否有任何编译器设置。

static_cast
是所使用语言的一个完全正常的功能,并且是优于 C 风格显式转换的首选方式。目前尚不清楚这样的警告有何目的。事实上,
static_cast
通常用于告诉编译器not警告其他隐式转换,这些转换可能会出现问题,例如缩小转换。

也许有一些 clang-tidy 检查或类似的警告,如果

static_cast
转换也可以隐式进行,但这可能会干扰上面提到的约定。

您可能需要使用外部工具。像

grep -R static_assert .
这样简单的东西或一些
sed
/
awk
以您想要的方式替换
static_assert
的使用可能就足够了。如果您需要实际修改已解析的 AST,您可能需要编写一些内容,例如基于 Clang 的库/工具。

© www.soinside.com 2019 - 2024. All rights reserved.