Visual Studio 2012 で関数テンプレートを特定の型に制限する方法はありますか?
これは GCC で動作しますが、MSVC はerror C4519: default template arguments are only allowed on a class template
.
#include <type_traits>
template <class float_t, class = typename std::enable_if< std::is_floating_point<float_t>::value >::type>
inline float_t floor(float_t x)
{
float_t result;
//...
return result;
}
クロス コンパイラ ソリューションが最適です。代替案はありますか?