axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dushshantha Chandradasa" <dchandrad...@virtusa.com>
Subject XSDElementNil service fails to compile.
Date Wed, 18 May 2005 09:54:16 GMT
Hi All,

 

XSDElementNil service fails to compile and gives the following error
messages.

 

XSDElementNilWrapper.cpp

XSDElementNilWrapper.cpp(133) : error C2440: 'initializing' : cannot
convert fro

m 'int *' to 'int'

        This conversion requires a reinterpret_cast, a C-style cast or
function-

style cast

XSDElementNilWrapper.cpp(161) : error C2440: 'initializing' : cannot
convert fro

m 'unsigned int *' to 'unsigned int'

        This conversion requires a reinterpret_cast, a C-style cast or
function-

style cast

XSDElementNilWrapper.cpp(189) : error C2440: 'initializing' : cannot
convert fro

m '__int64 *' to '__int64'

        This conversion requires a reinterpret_cast, a C-style cast or
function-

style cast

XSDElementNilWrapper.cpp(217) : error C2440: 'initializing' : cannot
convert fro

m 'unsigned long *' to 'unsigned long'

        This conversion requires a reinterpret_cast, a C-style cast or
function-

style cast

XSDElementNilWrapper.cpp(245) : error C2440: 'initializing' : cannot
convert fro

m 'double *' to 'double'

        There is no context in which this conversion is possible

XSDElementNilWrapper.cpp(246) : error C2440: 'type cast' : cannot
convert from '

double' to 'void *'

        There is no context in which this conversion is possible

XSDElementNilWrapper.cpp(273) : error C2440: 'initializing' : cannot
convert fro

m 'float *' to 'float'

        There is no context in which this conversion is possible

XSDElementNilWrapper.cpp(274) : error C2440: 'type cast' : cannot
convert from '

float' to 'void *'

        There is no context in which this conversion is possible

XSDElementNilWrapper.cpp(301) : error C2440: 'initializing' : cannot
convert fro

m 'char *' to 'char'

        This conversion requires a reinterpret_cast, a C-style cast or
function-

style cast

XSDElementNilWrapper.cpp(329) : error C2440: 'initializing' : cannot
convert fro

m 'unsigned char *' to 'unsigned char'

        This conversion requires a reinterpret_cast, a C-style cast or
function-

style cast

XSDElementNilWrapper.cpp(357) : error C2440: 'initializing' : cannot
convert fro

m 'axiscpp::xsd__boolean *' to 'axiscpp::xsd__boolean'

        There is no context in which this conversion is possible

XSDElementNilWrapper.cpp(413) : error C2440: 'initializing' : cannot
convert fro

m 'short *' to 'short'

        This conversion requires a reinterpret_cast, a C-style cast or
function-

style cast

XSDElementNilWrapper.cpp(441) : error C2440: 'initializing' : cannot
convert fro

m 'unsigned short *' to 'unsigned short'

        This conversion requires a reinterpret_cast, a C-style cast or
function-

style cast

XSDElementNilWrapper.cpp(469) : error C2440: 'initializing' : cannot
convert fro

m 'struct tm *' to 'struct tm'

        No constructor could take the source type, or constructor
overload resol

ution was ambiguous

XSDElementNilWrapper.cpp(470) : error C2440: 'type cast' : cannot
convert from '

struct tm' to 'void *'

        No user-defined-conversion operator available that can perform
this conv

ersion, or the operator cannot be called

XSDElementNilWrapper.cpp(497) : error C2440: 'initializing' : cannot
convert fro

m 'struct tm *' to 'struct tm'

        No constructor could take the source type, or constructor
overload resol

ution was ambiguous

XSDElementNilWrapper.cpp(498) : error C2440: 'type cast' : cannot
convert from '

struct tm' to 'void *'

        No user-defined-conversion operator available that can perform
this conv

ersion, or the operator cannot be called

XSDElementNilWrapper.cpp(525) : error C2440: 'initializing' : cannot
convert fro

m 'long *' to 'long'

        This conversion requires a reinterpret_cast, a C-style cast or
function-

style cast

XSDElementNilWrapper.cpp(553) : error C2440: 'initializing' : cannot
convert fro

m 'struct tm *' to 'struct tm'

        No constructor could take the source type, or constructor
overload resol

ution was ambiguous

XSDElementNilWrapper.cpp(554) : error C2440: 'type cast' : cannot
convert from '

struct tm' to 'void *'

        No user-defined-conversion operator available that can perform
this conv

ersion, or the operator cannot be called

XSDElementNilWrapper.cpp(581) : error C2440: 'initializing' : cannot
convert fro

m 'class axiscpp::xsd__base64Binary *' to 'class
axiscpp::xsd__base64Binary'

        No constructor could take the source type, or constructor
overload resol

ution was ambiguous

XSDElementNilWrapper.cpp(582) : error C2440: 'type cast' : cannot
convert from '

class axiscpp::xsd__base64Binary' to 'void *'

        No user-defined-conversion operator available that can perform
this conv

ersion, or the operator cannot be called

XSDElementNilWrapper.cpp(609) : error C2440: 'initializing' : cannot
convert fro

m 'class axiscpp::xsd__hexBinary *' to 'class axiscpp::xsd__hexBinary'

        No constructor could take the source type, or constructor
overload resol

ution was ambiguous

XSDElementNilWrapper.cpp(610) : error C2440: 'type cast' : cannot
convert from '

class axiscpp::xsd__hexBinary' to 'void *'

        No user-defined-conversion operator available that can perform
this conv

ersion, or the operator cannot be called

XSDElementNilWrapper.cpp(637) : error C2440: 'initializing' : cannot
convert fro

m 'double *' to 'double'

        There is no context in which this conversion is possible

XSDElementNilWrapper.cpp(638) : error C2440: 'type cast' : cannot
convert from '

double' to 'void *'

        There is no context in which this conversion is possible

XSDElementNilWrapper.cpp(665) : error C2440: 'initializing' : cannot
convert fro

m '__int64 *' to '__int64'

        This conversion requires a reinterpret_cast, a C-style cast or
function-

style cast

Generating Code...

XSDElementNil.cpp(61) : error C4716: 'XSDElementNil::setGetDataLong' :
must retu

rn a value

 

As I go through the error I found that WrapWriter class does not handle
simple type elements which are nillable true. Following is the logic in
WrapWriter class.

 

if (!returntypeisarray 

                  && (!returntypeissimple

                        || (!returntypeissimple

                              && returntype.isNillable()

                                    &&
!(retType.getLanguageSpecificName().equals("xsd__string")

                                          ||
retType.getLanguageSpecificName().equals("xsd__anyURI")

                                          ||
retType.getLanguageSpecificName().equals("xsd__QName")

                                          ||
retType.getLanguageSpecificName().equals("xsd__notation")))))

            {

                  writer.write(" *");

            }

 

Is this cover simple type nillable values??

Any comment on this??

 

Regards,

 

Marcus Dushshantha Chandradasa

Associate  Software Engineer

Virtusa (Pvt) Ltd.

dchandradasa@virtusa.com

Mob:  0714867441

 

 

 


Mime
View raw message