【发布时间】:2016-10-13 13:32:18
【问题描述】:
我正在编写一个类,该类需要它被实例化的模板类型在位移操作下表现得像无符号类型。之所以如此,是因为移位操作下的负数与移位操作下的正数表现不同。因此,我的想法是简单地将我作为模板参数获得的任何类型转换为 typedef 中它的无符号版本,并且在内部仅使用 typedefed 版本。如果模板参数类型不支持这一点,那么......它根本不支持,并且会出现编译时错误。我尝试的看起来像这样:
template <class X>
class C
{
using Y = unsigned X;
};
不正确:error: type-id cannot have a name
这有可能吗?如果可以,怎么办?
【问题讨论】:
标签: c++ templates type-conversion typedef