gcc 3.1: bug with inherited templates when specified by names pace

Mountfort, Geoff gmountfort@avaya.com
Sun Jun 23 17:11:00 GMT 2002


Dylan,

I get
	Frog.cpp:13: parse error before `template'
from
	namespace other
	{
	template< class T >
	class Frog
	{
	    T   m_t;    // doesn't matter what's here
	};
	
	}


	class MrBlobbyBlab : public other::Frog        // erm... where's the
template parameter?
	{
	};
with
	g++ (GCC) 3.1
on
	CYGWIN_NT-5.0 DUKE 1.3.10(0.51/3/2) 2002-02-25 11:14 i686 unknown


Geoff


-----Original Message-----
From: Dylan Cuthbert [mailto:dylan@q-games.com]
Sent: Sunday, 23 June 2002 4:23 PM
To: gcc@gcc.gnu.org
Subject: gcc 3.1: bug with inherited templates when specified by
namespace


namespace other
{
template< class T >
class Frog
{
    ...        // doesn't matter what's here
};

}


class MrBlobbyBlab : public other::Frog        // erm... where's the
template parameter?
{
};


The problem is that the above code compiles with no warning or error and
puts god knows what into MrBlobbyBlab as a base class.  Put anything in
"Frog" and it just doesn't matter.

Put a "using namespace other" and change other::Frog to simply Frog and it
comes up with an error as it properly should.

This is with gcc v3.1 in Cygwin.  Can anyone else confirm this problem?

Regards

Dylan Cuthbert, Q-Games Ltd.



More information about the Gcc mailing list