我需要某种方式来实现“反向模板别名”。所以我会使用模板typedef在编译时选择正确的类。我想做到以下几点:反向模板别名
typedef ClassA Temp<int>;
typedef ClassB Temp<char>;
ClassA和ClassB的不是模板类,但我想通过使用模板来选择合适的班级。所以如果需要Temp> < int>,它实际上会使用ClassA。在C++中甚至有可能这样吗?我尝试了以下,但它没有奏效。
template<>
typedef ClassA Temp<int>;
template<>
typedef ClassB Temp<char>;
我得到了以下错误在GCC
error: template declaration of ‘typedef’
你能给出你想要实现的代码示例吗?在你的例子中,ClassA和ClassB是具体类型,而不是模板。 –
而且你不能模拟typedef。但是有一些解决方法,取决于你想要做什么。 –