[EMAIL PROTECTED] wrote:

Hi all,

The code in Axis c++ cvs compiles both for windows and linux. But it works
only for windows. We have identified the problem as is clear from the following xerces mailing
archive. wchar_t is 32bit in linux and is 16 bit in Windows. We made the
mistake of assuming that the wchar_t is 16 bit in every platform.
We hope to solve this problem immediately and apologise for any inconvenience
caused.
This problem is describe in Xerces mailing list as follows.
========================================================================
List: xerces-c-dev
Subject: RE: wchar_t and XMLCh
From: "Nikko" <nikko () gmx ! fr>
Date: 2003-03-04 20:58:28
[Download message RAW]



Believe me, wchar_t is evil. Redefine your own 16 bits string or use a string<unsigned short> instead, which you can convert to/from XMLCh* easily. Even if theoretically unsigned short is not necessarily two bytes long, it is far more reliable than wchar_t being 2 bytes long.

Best

Interesting. I never knew that.


Given you are building on VS6.0, you dont have the 'wchar_t is a unique type' switch which is the real benefit of using the type over a typedef. Flip it and you can override
foo(unsigned short); foo(unsigned long) and foo(wchar_t) without the compiler complaining.









Reply via email to