BUG: Multiple Errors Compiling Std C++ Library Headers with /ZaLast reviewed: May 23, 1997Article ID: Q168934 |
The information in this article applies to:
SYMPTOMSIf you use the /Za switch (Disable Language Extensions) when compiling the Standard C++ Library headers, it causes multiple compiler errors. For example:
cl /Za /c /GX /Tp"iosfwd"Causes the following compiler errors:
iosfwd(132) : error C2906: C++ language change: to explicitly specialize class template 'char_traits' use the following syntax - template<> struct char_traits<unsigned short> ... iosfwd(171) : error C2906: C++ language change: to explicitly specialize class template 'char_traits' use the following syntax - template<> struct char_traits<char> ...Examples of other header files known to cause multiple compiler errors like C2838, C2146, and C2501 are: <utility>, <iterator>, <xstring>, <functional>, and <limits>.
RESOLUTIONDo not use the compiler option /Za (Disable Language Extensions) when compiling the Standard C++ Library headers.
STATUSMicrosoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. We are researching this bug and will post new information here in the Microsoft Knowledge Base as it becomes available. |
Keywords : CPPIss CPPLngIss kbtool STLIss vcbuglist500
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |