是否可以使用模板来构造类型定义中的类型?例如。我想有这样的事情:
class MyType
{
template<typename T>
someNamespace::T Convert(someOtherNamespace::T value);
};
如果模板不能用于此目的,甚至可以做出这样的声明吗?
问候,Dawid
答案 0 :(得分:1)
不,不是。模板参数命名实际类型,而不是标识符(如果要在命名空间中进行查找,则需要这些标识符。)
另外,我不知道这是如何特别有用的。它要求两个名称空间包含具有相同名称的类型,并且可以以完全通用的方式进行转换 - 您多久会看到一次?
你能详细描述一下你想做什么吗?
答案 1 :(得分:0)
不确定你想要什么,但也许跟随(使用宏)可能会有所帮助:
// Assuming value is of type someOtherNamespace::identifier
#define CONVERT(identifier, value) static_cast<someNamespace::identifier>(value)