Derrick Coetzee [MSFT] wrote:[color=blue]
> Staffan Langin wrote:[color=green][color=darkred]
>>> It's possible that your previous compiler was more lenient, or
>>> misinterpreted the standard; previous versions of Visual Studio did
>>> allow one to omit this keyword (according to the MSDN entry for
>>> C4346). There doesn't seem to be any ambiguity in leaving it out,
>>> since you can only have a type name in that position, but the
>>> standard seems to require it, if I'm not misinterpreting it. If you
>>> can justify your statement to the contrary I'd like to hear your
>>> argument. I hope this helps.[/color]
>>
>> If I interpret the defect report,
>>
http://www.open-std.org/jtc1/sc22/wg...fects.html#224, correctly
>> the name at 2 is a member of the current instantiation and doesn't
>> require the typename keyword.[/color]
>
> I apologise - you're correct. I'm afraid I was misinterpreting this
> portion of the standard. I hope the workaround of adding the keyword
> is sufficient for your purposes (or that you're willing to wait for
> VS2005 to release). Sorry about that.[/color]
I see what happened now - after reading the item at
http://www.open-std.org/jtc1/sc22/wg...fects.html#224 , it seems
that my interpretation was based on the 1998 edition of the C++ standard,
which exhibited this issue. I'll be sure to refer to the most recent version
in the future. Sorry about that.
--
Derrick Coetzee, MCP, MSFT (Speech Server)
This posting is provided "AS IS" with no warranties, and confers no
rights.