Angenommen, ich habe dieses Programm, in dem ich eine Reihe von spezialisierten Typen und keinen allgemeinen Typ möchte. Wenn ich es kompiliere, würde ich gerne "Error: Int"
anstelle von "Error: Z"
bekommen. Ich habe versucht typeof(Z)
und das hat mir nichts - gibt es einen Standard-Trick zu diesem Thema?Wie bekomme ich Typnamen in static_assert Fehler?
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;
}