------- Additional Comments From phenning at lanl dot gov  2005-07-21 23:26 
-------
(In reply to comment #5)
> Your explicit instantiation 
>   template int foo< A_class<int> >(A_class<int> a); 
> obviously matches both the declarations of foo. I'm unsure which 
> one the compiler should choose, but if you want to instantiate the 
> second one, why don't you write 
>   template int foo< A_class<int>,int >(A_class<int> a); 
> i.e. explicitly state the second template argument as well? 

The compiler is more than happy to instantiate the second one... the problem is 
that it is converting my 
one template parameter explicit specialization into the two template parameter 
form, presumably 
because the function signature matches.  I would expect that if I explicitly 
state the one parameter 
form, the compiler should instantiate the one parameter form.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22596

Reply via email to