Topic: SunC++ bug or valid C++ template code?
Author: schmidt@tango.cs.wustl.edu (Douglas C. Schmidt)
Date: 21 Feb 1995 19:24:06 -0600 Raw View
Hi,
The following C++ code is giving my compilers (SunC++ 4.0.1
and GCC 2.6) fits.
----------------------------------------
template <class SYNCH>
class Foo
{
public:
static SYNCH::MUTEX lock;
};
class Synch
{
typedef int MUTEX;
typedef int COND;
};
template <class SYNCH>
SYNCH::MUTEX Foo<SYNCH> lock;
----------------------------------------
SunC++ 4.0.1 complains:
y.C", line 15: Error: :: is not a class name as required for a qualifer.
"y.C", line 15: Error: Templates can only declare classes or functions.
2 Error(s) detected.
whereas GCC complains:
y.C:15: parse error before `<'
This seems like it should be valid code. Is there some reason in the
why it would be invalid?
Thanks,
Doug
--
Dr. Douglas C. Schmidt (schmidt@cs.wustl.edu)
Department of Computer Science, Washington University
St. Louis, MO 63130. Work #: (314) 935-7538; FAX #: (314) 935-7302
http://www.cs.wustl.edu/~schmidt/