2012-08-28 138 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 –

相關問題