Suppose you have
class A {};
class B {}
template<class T> void SomeFcn( T t ) {…};
A a;
B b;
These are both legal:
SomeFcn( a );
SomeFcn<B>( b );
The question is: When (if ever) is the second syntax required?
// Microsoft MFC specific version of question
template<class T> void SomeArrayFcn( CArray< T, T>& array ) {…};
CArray<A,A> arraya;
CArray<B,B> arrayb;
These are both legal:
SomeArrayFcn( arraya);
SomeArrayFcn<B>( arrayb);
The question is: When (if ever) is the second syntax required?