Yeah, thanks but that is included with #include <map> (and #include <list>).
Microsoft say they have tightened up the standards required for templates
between 2002 and 2003 so that 2003 needs to conform more to the ANSI
standard. The example they give is that you must preceed the declaration of
the template with the namespace, eg use
std::map<X, Y> instead of
map<X, Y>
however as you can see from the below I am already doing that. I was
wondering if anyone knew of any other 'tightening up of the ANSI standards'
that might be causing this... ?
-Phil
> The other obvious one is have you included <map>? Are you able to just
> declare a map on its own?
[quoted text clipped - 27 lines]
> > Many thanks,
> > -Phil
Steve McLellan - 06 Oct 2004 22:01 GMT
The main one we found was that 'typename' had to be applied far more often
when compiling templated code. Can you provide a small compileable example?
It would help you and us locate the problem. Try creating a map like the one
that's causing the problem in a simple CPP, and listing the exact error
messages. My guess is that the problem's down to your template parameters,
not map itself.
I've got to go and get some food - it's ridiculously late to be at work. See
if you can narrow down the problem a bit, and I or someone else'll have a
look.
Steve
> Yeah, thanks but that is included with #include <map> (and #include <list>).
>
[quoted text clipped - 43 lines]
> > > Many thanks,
> > > -Phil
Steve McLellan - 07 Oct 2004 12:11 GMT
The other thing that occurs is that there are two newsgroups, dotnet.vc and
languages.vc that specialise in VC++. There're a lot of standards experts in
there who may be able to give you a list of standards compliance
differences.
Steve
> Yeah, thanks but that is included with #include <map> (and #include <list>).
>
[quoted text clipped - 43 lines]
> > > Many thanks,
> > > -Phil