2012-08-28 70 views
0

我正在创建一个小应用程序,需要使用模板函数。假设要求用户输入某种数据类型2,然后告诉他们哪一个更大。所以作为一个模板函数,我想告诉传递给我的函数的是什么。例如,如果函数需要双打,我希望能够询问用户“输入2个双打”。等等。这是函数调用和设置:确定传递给模板函数的变量类型

int main(){ 
    getInput(intA, intB); 
    getInput(doubleA, doubleB); 

    ... 
} 

template <typename TYPE> 
TYPE getInput(TYPE a, TYPE b){ 
    cout << "Enter 2 " << TYPE << endl; 
    cin >> a >> b; 
    ... 
} 

这个应用程序是一项正在进行的工作,但它只是我的错误,要求用户“输入一些”等等,甚至不知道这是可能的,但以为会冷静点。

回答

5

使用RTTI

cout << typeid(a).name(); 
+0

嘿,这工作就像一个魅力。谢谢! –

+0

不客气。 @Howdy_McGee –

相关问题