DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6917>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6917

Fix for XPathExpression::insertOpCode using STLport 4.5 with _STLP_DEBUG defined

[EMAIL PROTECTED] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[EMAIL PROTECTED]
           Severity|Normal                      |Major



------- Additional Comments From [EMAIL PROTECTED]  2002-06-25 11:58 -------
I have the same error message and could solve it by writing the line as follows

        const OpCodeMapSizeType theOpCodeLength = getOpCodeLength(theOpCode);

And I think that there is a problem with this code, because
std::vector::insert() is defined with parameter "std::vector::size_type" and not
"int", so you should not assume that the call to insert() receives an int.

The problem is that the STL uses a typedef for the vector<>::size_type and the
compiler on MSVC cannot find the correct template instantiation of some internal
checking-methods in the debug-code for STLport.

The problem is not a missing cast or signed/unsigned problem, but a sort of
ambiguity that the compiler on Windows cannot solve and therefore produces the
error messages.

The actual error messages are as follows:

XPathExpression.cpp
X:\EPARTY\STLPORT\STLPORT\stl/debug/_debug.h(225) : error C2664: 'struct
_STL::random_access_iterator_tag __cdecl _STL::iterator_category(const struct
_STL::_Bit_iterator_base &)' : cannot convert parameter 1 from 'const int' to
'const struct _STL::
_Bit_iterator_base &'
        Reason: cannot convert from 'const int' to 'const struct
_STL::_Bit_iterator_base'
        No constructor could take the source type, or constructor overload
resolution was ambiguous
        X:\EPARTY\STLPORT\STLPORT\stl/debug/_debug.c(78) : see reference to
function template instantiation 'bool __cdecl _STL::__valid_range(const int
&,const int &)' being compiled
X:\EPARTY\STLPORT\STLPORT\stl/debug/_debug.h(225) : error C2780: 'bool __cdecl
_STL::__valid_range(const _Iterator &,const _Iterator &)' : expects 2 arguments
- 3 provided
        X:\EPARTY\STLPORT\STLPORT\stl/debug/_debug.h(224) : see declaration of
'__valid_range'
        X:\EPARTY\STLPORT\STLPORT\stl/debug/_debug.c(78) : see reference to
function template instantiation 'bool __cdecl _STL::__valid_range(const int
&,const int &)' being compiled
Error executing cl.exe.

Reply via email to