首页 > 解决方案 > C++ 将函数标记为实验性/未完全实现

问题描述

我有一个功能,由于各种原因,我需要部分实现,并且我想防止未来的用户(当我忘记我这样做时,以后像我一样阅读)知道该功能是不完整的、有缺陷的和未经测试的。

选项 n1 只是添加一个注释// Warning this thing is partially implemented and will break randomly ,但是这不会创建编译时警告,所以我不是粉丝。

选项 n2 是使用[[deprecated("reason")]]它具有引发编译警告的优点,但它具有误导性,该功能没有被弃用,它实际上与弃用相反,它是一个 WIP,也许有一天会完全实现。

有替代品吗?

标签: c++compilationcompiler-warningsdeprecation-warning

解决方案


[[deprecated]]属性正是它的用途(强调我的):

https://en.cppreference.com/w/cpp/language/attributes

[已弃用]

[不推荐使用(“原因”)]

表示允许使用使用此属性声明的名称或实体,但由于某种原因不鼓励使用

您仍然可以使用该功能,您只会收到一条警告消息,提示您不应依赖它的使用。

警告:MSVC 违反标准并发出编译器错误(由于 SDL 标志默认打开)而不是警告。


推荐阅读