if (std::is_same<T, float>::value)
{
float a;
somefunc_float(x,len,&a);
}
上面的代码来自一个模板,它接受一个指针 x,它可以是一些原始数据类型的指针(例如 x 是double *
, float *
or int *
),并且somefunc_float
来自一个库,只能接受一个特定的数据类型x
(float *
在上面的例子中),编译器总是给我错误,告诉我输入数据类型(x)不正确,好像表达式std::is_same<T, float>::value
根本不起作用?