if (std::is_same<T, float>::value)
{
float a;
somefunc_float(x,len,&a);
}
double *
上記のコードはテンプレートからのもので、いくつかのプリミティブ データ型 (たとえば、 x は、float *
またはint *
)のポインターである可能性があるポインター x を受け入れ、libからのものであり、 (上記の例では、somefunc_float
1 つの特定のデータ型のみを受け入れることができます。 )、コンパイラは常にエラーを表示し、式がまったく機能しないかのように、入力データ型 (x) が正しくないことを教えてくれますか?x
float *
std::is_same<T, float>::value