我想重命名一个模板类。为了让用户更容易过渡,我希望在下一个版本中保留旧类,并使用来自GCC / Clang的扩展属性(deprecated)标记它已弃用。 为了避免保留废弃类的完全副本,模板别名的使用将非常方便。不幸的是,它似乎不起作用。这是我在Clang 3.3、GCC 4.7和GCC 4.8上尝试的:
template <class blabla>
struct NewClassName
{
// ...
};
template <class blabla> using OldClassName [[deprecated]]
= NewClassName<blabla>;
我是否遗漏了些什么,或者编译器不支持这个?有没有其他的想法可以在不复制整个类的情况下获取弃用警告?