Subject: Re: problem with inner classes in template functions
From: [email-masked] (Fergus Henderson)

22 May 1997 19:46:57 -0700
Approved: [email-masked]
Distribution: cygnus
Message-ID: <[email-masked]>
Content-Type: text
Original-To: [email-masked] (Oliver Glier)
Original-Cc: [email-masked] (Cygnus GNU-win32 mailing list)
In-Reply-To: <[email-masked]> from "Oliver Glier" at May 21, 97 11:26:35 am
X-Mailer: ELM [version 2.4 PL24]
Original-Sender: [email-masked]

Oliver Glier, you wrote:
> 
> template<class C>
> void createIterator(const C&)
> {
>   C::Iterator it;
>   it.setnull();
> }
....
> The compiler always yields a syntax error at the line with
> "C::Iterator it;" in function createIterator().

The compiler is correct.  The above is not valid C++ syntax
(no matter what all those other compilers do).

I think the correct syntax is

   typename C::Iterator it;
   ^^^^^^^^

This syntax is a fairly recent addition to C++, and
I have no idea whether the cygwin g++ supports it yet
(and no intention of rebooting my Linux box in W95 mode
to find out ;-).

-- 
Fergus Henderson <[email-masked]>   |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>   |  of excellence is a lethal habit"
PGP: finger [email-masked]         |     -- the last words of T. S. Garp.
-
For help on using this list (especially unsubscribing), send a message to
"[email-masked]" with one line of text: "help".