[xsd-users] RE: Ambiguous call to overloaded function with xsd compiled files

Boris Kolpackov boris at codesynthesis.com
Fri May 10 09:10:51 EDT 2013


Hi Andre,

Moreira Andre <Andre.Moreira at helvar.com> writes:

> I have "solved" the ambiguous call to overloaded function  problem 
> by going to parsing-source.txx and look for all setParameter that
> used bool as the second parameter and cast them to (bool).

I believe this is caused by your project redefining true and false
as macros (probably as 1 and 0) and when you pass 0 instead of false
to setParameter(), the call becomes ambiguous.

Needless to say, redefining C++ keywords as macros is a really bad
idea.

> Now I get unresolved external symbol when linking and I got the same error
> in my prototype project when "Treat wchar_t as Built-in type" is set to
> NO(/Zc:wcahr_t-).  I guess this has something to do with the way
> xerces-c_3.lib was compiled. Can you confirm that?

Yes, Xerces-C++ and XSD expect the wchar_t to be treated as a built-in
type. This is the default and recommended setting in VC++.

Boris



More information about the xsd-users mailing list