Ich brauche eigenständige Compile-Time-Funktion für die Überprüfung der Gleichheit des Typs (Funktionsvorlage ohne Argumente bool eqTypes<T,S>()
) zu implementieren.Kompilierzeit-Funktion für die Überprüfung der Gleichheit des Typs
in sich abgeschlossen bedeutet, dass man sich nicht auf die Bibliothek verlässt.
Ich bin nicht gut in all dem. Das habe ich versucht, aber es ist nicht das, was ich brauche.
template<typename T>
bool eq_types(T const&, T const&) {
return true;
}
template<typename T, typename U>
bool eq_types(T const&, U const&) {
return false;
}
Darf man ['std :: is_same'] (http://en.cppreference.com/w/cpp/types/is_same) benutzen? – juanchopanza
http://stackoverflow.com/a/3450395/168175 zeigt, wie Sie es selbst implementieren, aber es würde (trivial) Anpassung an eine Funktion anstelle einer Struktur benötigen. – Flexo