From df3e794608930cb33ed676e8d8ced41d09fd12f4 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sun, 4 Feb 2001 16:27:05 +0000 Subject: [PATCH] re-worded wchar_t workaround (thanks to Ed Brey) [SVN r8918] --- microsoft_vcpp.html | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/microsoft_vcpp.html b/microsoft_vcpp.html index b896837..01f0b7f 100644 --- a/microsoft_vcpp.html +++ b/microsoft_vcpp.html @@ -41,7 +41,7 @@ The preprocessor symbol _MSC_VER is defined for all Microsoft C++ compilers. Its value is the internal version number of the compiler interpreted as a decimal number. Since a few other compilers also define this symbol, boost provides the symbol -BOOST_MSVC defined in +BOOST_MSVC, which is defined in boost/config.hpp to the value of _MSC_VER if and only if the compiler is really Microsoft Visual C++. @@ -244,14 +244,15 @@ The type wchar_t is not a built-in type. wchar_t x; // "missing storage class or type identifier" -Workaround: The header <cstddef> -provides a typedef for wchar_t and +Workaround: When using Microsoft Visual C++, the +header boost/config.hpp -includes it to provide the workaround. Note that this is not a -distinct type from any other built-in type as required by the -standard, so ambiguities when overloading on wchar_t may -emanate. - +includes <cstddef>, which defines defines +wchar_t as a typedef for unsigned +short. Note that this means that the compiler does not see +wchar_t and unsigned short as distinct +types, as is required by the standard, and so ambiguities may emanate +when overloading on wchar_t.

Standard Library