No. The program didn't like that constructor for some reason.
Success!
Wow, this is getting actually quite entertaining :)
Sorry AD, but you made a radical change there. That is, now there is an object instantiated in the usual way, i.e. "WCS m(L"Hello");", i.e the code is pretty much guaranteed to work.
But the original problem arose due to the way the constructor was used and the attempt to reference the (more or less) temporary object.
[EDIT]
@CppBuilder
GCC docs state one aspect with regard to the temporary objects and their lifetime, I think it's quite relevant here, since you mentioned referencing member variables, so maybe check out Temporaries May Vanish Before You Expect.