egcs reports: new declaration `A<T1>::B<T2>::B()'

Joao Belo jbelo@cc.isel.pt
Tue May 25 08:44:00 GMT 1999


Hello,

with the code:

	template<class T1>
	class A {
		template<class T2>
		class B {
			void f();
			B();
		};
	};

	template<class T1>
	template<class T2>
	void A<T1>::B<T2>::f()
	{}

	template<class T1>
	template<class T2>
	A<T1>::B<T2>::B()
	{}

egcs gives
	
	e.cpp:19: new declaration `A<T1>::B<T2>::B()'
	e.cpp:6: ambiguates old declaration `A<T1>::B<T2>::B()'

The version of egcs is:

	 gcc version egcs-2.91.66 19990314 (egcs-1.1.2 release)
	
Joao Belo


More information about the Gcc-bugs mailing list