如果我有一个变量,其类型是模板类,并且我想要构建另一个不同模板类的变量,但使用相同的模板参数,我怎么能?从不同的变量模板类型构建变量的模板类型
虽然下面的例子不起作用,但它有希望给出我期望完成的想法。如果没有非常具体的方法来做到这一点,有没有办法让某种查询表设计模式来做到这一点?只有六种左右不同的模板类型可能会用到。
template<typename T>
class A{
public:
typedef T Type;
};
template<typename T>
class B{};
int main(void){
A<int> var1;
B<var1::Type> var2;
}
我很抱歉,如果这是一个重复的问题,但我没有看到任何此类问题。
编辑
我想办法为这个与Visual Studio 2010和海湾合作委员会的工作,而无需使用第三方库。所以并不是所有的C++ 11功能都可以被支持。
此外,没有使用typedef A<int>
或知道A<int>
,因为此代码只是一个测试案例场景,显示我想要的基本功能。我想要一种从模板类型变量中获取模板类型的方法。
FWIW,为了让你的例子编译,将'A var1;'更改为'typedef A var1;' –
2012-04-19 06:42:32
@Jesse问题是'var1'是一个变量,而不是一个类型。 – 2012-04-19 07:11:20
好的,我添加了另一个应该在VS2010中工作的变体,尽管我无法测试它。 – juanchopanza 2012-04-19 08:19:21