【发布时间】:2013-11-05 14:56:47
【问题描述】:
我想重命名一个模板类。为了使用户的过渡更容易,我想将旧类保留为另一个版本,并使用 GCC / Clang 的扩展将其标记为已弃用(不推荐使用属性)。 为了避免保留已弃用类的精确副本,使用模板别名会很方便。不幸的是,它似乎不起作用。这是我在 Clang 3.3、GCC 4.7 和 GCC 4.8 中尝试过的:
template <class blabla>
struct NewClassName
{
// ...
};
template <class blabla> using OldClassName [[deprecated]]
= NewClassName<blabla>;
我错过了什么还是编译器不支持?是否有其他想法可以在不复制整个课程的情况下获得弃用警告?
【问题讨论】:
标签: c++ templates c++14 deprecated template-aliases