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