template, typename von typename* bekommen
-
hallo,
bitte um Hilfe bei folgendem Problem:
ist es möglich bei einem template für welches mir als Type zb int* übergeben wurde
den Type int zu bekommen?Bsp was ich meine:
template<typename T> struct Test{
T val;
};Test<int*> t;
t.val sollte jetzt den Type int, und nicht int* haben,
geht das?
-
Entweder so (Spezialisierung)
template <typename> struct hugo; template <typename T> struct hugo<T*> { typedef T val; };Oder so (Type-Traits)
template <typename T> struct hugo { typedef typename std::remove_pointer<T>::type val; };
-
großartig, vielen Dank!