------- Additional Comments From bangerth at dealii dot org 2005-07-21 23:17 ------- 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? W.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22596