Boost logo

Boost :

From: Pavel Vozenilek (pavel_vozenilek_at_[hidden])
Date: 2004-01-21 04:26:20


From: "David Abrahams" <dave_at_[hidden]>

> > Following example fails on Intel C++ 7.0 and 8.0 (both Windows,
> > plugged into VC6 IDE, using old Dinkumware) and 1.31 RC1:
> >
> > ________________________________
> > #include <boost/type_traits/is_class.hpp>
> >
> > int main()
> > {
> > typedef const int an_array[10]; // remove const and it will compile
> > bool b = ::boost::is_class<an_array>::value;
> >
> > return 0;
> > }
> > ________________________________
> >
>
> Try rewriting is_class from:
[snip]

It fails (Intel C++ 7.0 and 8.0) with message:

--------------------Configuration: x - Win32 Debug--------------------
Compiling...
x.cpp
C:\boost\boost_1_31_0_rc1\boost/type_traits/is_class.hpp(108): error:
constant value is not known
  BOOST_STATIC_CONSTANT(bool, value = is_class_impl<T>::value);
  ^
          detected during:
            instantiation of class "boost::detail::is_class_impl<const T>
[with T=const int [10]]" at line 158
            instantiation of class "boost::is_class<T> [with T=const int
[10]]" at line 9 of
"C:\Temp\temp\serialization15\boost_1_31_0_rc1\libs\serialization\x\x.cpp"
compilation aborted for
C:\Temp\temp\serialization15\boost_1_31_0_rc1\libs\serialization\x\x.cpp
(code 2)
Error executing cl.exe.

x.exe - 1 error(s), 0 warning(s)

/Pavel


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