Consider the following code:
template<typename T> class C{ //... } template<typename U> void foo(U arg){ //... }
Inside of foo(), how can I test whether U is the same type as C<T> for any T?
foo()
U
C<T>
T