2014-07-22 65 views
0

我正在使用VS2010將用C++編寫的現有Mac應用程序移植到Windows。以下代碼行:Visual C++找出變量數據類型的最大可能值

T var_max; 
var_max = std::numeric_limits<typeof(var_max)>::max(); 

給定一個變量,確定該變量的數據類型的最大值。 如何在VC++中編寫等效代碼?我嘗試使用typeid來確定數據類型,但它只給出一個字符串,不能在模板中使用。

回答

0

您不需要確定數據類型。它是T.試試這個代碼:

#include <limits> 
template <typename T> 
T MaxValue() 
{ 
    T var_max = (std::numeric_limits<T>::max)(); 
    return var_max; 
} 

int _tmain(int argc, _TCHAR* argv[]) 
{ 
    int value = MaxValue<int>(); 
    return 0; 
}