Boost logo

Boost :

From: rwgk_at_[hidden]
Date: 2000-11-03 20:42:13


When following your suggestion I get a different error:

cxx -I/usr/local/STLport-4.1b3/stlport -D__USE_STD_IOSTREAM -
D__STL_NO_SGI_IOSTREAMS -D__STL_NO_NEW_C_HEADERS -
D_RWSTD_COMPILE_INSTANTIATE=1 -I/usr/local/boost_1_18_2 -
I/usr/local/include/python1.5 -I.. -std strict_ansi -msg_disable
186,450,1115 -c py.cpp
cxx: Error: /usr/local/boost_1_18_2/boost/cast.hpp, line 159:
          expected an identifier
           : public typename
numeric_min_select<std::numeric_limits<T>::is_signed>::limits<T>
--------------------^
cxx: Error: /usr/local/boost_1_18_2/boost/cast.hpp, line 159:
          expected an identifier
          detected during:
            instantiation of class
                      "boost::cast::detail::fixed_numeric_limits<T>
[with
                      T=int]" at line 282
            instantiation of "Target
                      boost::cast::numeric_cast<Target,Source>
(Source) [with
                      Target=int, Source=long]" at line 92 of "py.cpp"
            instantiation of "T py::integer_from_python(PyObject *,
                      py::Type<X>) [with T=int]"
           : public typename
numeric_min_select<std::numeric_limits<T>::is_signed>::limits<T>
--------------------^

--- In boost_at_[hidden], "David Abrahams" <abrahams_at_m...> wrote:
>
> ----- Original Message -----
> From: <rwgk_at_m...>
>
> > Platform:
> > Compaq C++ V6.2-024 for Digital UNIX V5.0 (Rev. 910)
> > STLport-4.1b3
> >
> > When using boost 1.18.1 with STLport-4.1b3 to compile
> > py_cpp_20001102 + rev. 1.3 of pyptr.h (see posting #6240, Re:
> > py_cpp_20001102 Alpha woes), all is fine.
> >
> > When attempting the same compilation with boost 1.18.2, I get the
> > error message that is attached.
> >
> > What could be the problem?
>
> Hard to say. Cleaning up the compiler messages:
> =============
> cxx: Error: /usr/local/boost_1_18_2/boost/cast.hpp, line 159:
>
> nontype "boost::cast::detail::numeric_min_select<is_signed>::limits
> [with is_signed=(bool)_STL::numeric_limits<T>::is_signed]"
> is not a template
> numeric_min_select<std::numeric_limits<T>::is_signed>::limits<T>
> -------------------------------------------------------^
>
> cxx: Error: /usr/local/boost_1_18_2/boost/cast.hpp, line 159: not a
class or
> struct name
> numeric_min_select<std::numeric_limits<T>::is_signed>::limits<T>
> ^
> cxx: Info: 2 errors detected in the compilation of "py.cpp".
> ==============
>
> It appears to be complaining that numeric_min_select<T>::limits is
not a
> template, which it clearly /is/. But since it thinks it is a non-
type
> parameter, maybe you can fix this problem by changing line 159 of
cast.hpp
> as follows:
>
> : public typename numeric_min_select<std::numeric...
> ^^^^^^^^
>
> Let me know how it works out.
>
> As I said before, time to start testing with Comeau ;-/


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk