在使用特定枚举标识符时打印出静态"deprecate"警告消息并附上建议的更正?

Print out a static "deprecate" warning message with a suggested correction when an particular enum identifier is used?

本文关键字:消息 警告 deprecate 枚举 标识符 静态 打印      更新时间:2023-10-16

在我们合作的许多地方使用的c++库中,我们错误地在同一个库名称空间中定义了多个枚举来定义常量值。enum是不同的类型,但不是不同的命名空间。因此,所有枚举值最终都在同一个命名空间中。这为枚举标识符冲突敞开了大门,而且在使用自动补全时也不方便。为了解决这个问题,我们正在考虑将不同的枚举移动到不同的命名空间中。

为了方便使用此库的代码的进化,我们希望能够在编译时显示一个"deprecate"警告消息,当代码中满足旧的枚举标识符时,建议代码更改。

下面的问题和答案是否存在static_warning?提供一种在满足条件时定义弃用警告的方法。当枚举标识符出现在用户代码中时,我如何实现相同的效果?

如果你使用Visual c++,你可能会使用#pragma deprecated

对于GCC有__attribute__编译器扩展,它可以用来标记变量或函数为不推荐的。不懂枚举