[xsd-users] Re: [xsde-users] vc8 + expat 2.0.1 compilation errors

Boris Kolpackov boris at codesynthesis.com
Tue Feb 12 09:20:51 EST 2008


Hi Gennady,

Please send questions/bug reports for CodeSynthesis XSD to the
xsd-users at codesynthesis.com mailing list (which I've CC'ed to
my reply). This mailing list (xsde-users) is for CodeSynthesis
XSD/e[1].

Gennady Khokhorin <gok at aerometric-ak.com> writes:

> Got compilation errors for hello parser example using latest
> Codesynthesis XSD:
>
> Error	1	error C2061: syntax error : identifier 'atts'
> c:\program files\codesynthesis xsd
> 3.1\include\xsd\cxx\parser\expat\elements.txx	579
> Error	2	error C2659: '+=' : function as left operand
> c:\program files\codesynthesis xsd
> 3.1\include\xsd\cxx\parser\expat\elements.txx	580
> Error	3	error C2664: 'xsd::cxx::parser::expat::bits::split_name'
> : cannot convert parameter 1 from 'const XML_Char **(void)' to 'const
> XML_Char *'	c:\program files\codesynthesis xsd
> 3.1\include\xsd\cxx\parser\expat\elements.txx	582
> Error	4	error C2296: '+' : illegal, left operand has type 'const
> XML_Char **(__cdecl *)(void)'	c:\program files\codesynthesis xsd
> 3.1\include\xsd\cxx\parser\expat\elements.txx	598
>
> Any idea how to fix it, please.

The problem appears to be in this initialization on line 579:

const XML_Char** p (atts);

Changing it to use assignment makes the errors go away:

const XML_Char** p = atts;

I thought Microsoft fixed this kind of problems (which are quite
common in VC 6.0) in 7.1 but apparently not all of them.

Thanks for reporting this!

[1] http://www.codesynthesis.com/products/xsde/

Boris




More information about the xsd-users mailing list