3
私はこのプログラムを持っているとします。このプログラムでは、特殊なタイプのものがたくさんあり、一般的なタイプはありません。私がコンパイルすると、"Error: Z"
の代わりに"Error: Int"
が得られます。私はtypeof(Z)
を試しましたが、それは何も得られませんでした - これに標準的なトリックがありますか?タイプ名をstatic_assertエラーにするにはどうすればよいですか?
template<class Z>
Z derp()
{
static_assert(false, "Error: Z");
}
template <>
double derp<double>()
{
return 5;
}
int main()
{
double b = derp<double>();
int r = derp<int>();
return 0;
}