Boost logo

Boost :

From: Pavel Vozenilek (pavel_vozenilek_at_[hidden])
Date: 2004-01-10 17:01:25


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;
}
________________________________

with error:
--------------------Configuration: x - Win32 Debug--------------------
Compiling...
x.cpp
C:\boost\boost_1_31_0_rc1\boost/type_traits/is_class.hpp(87): error: invalid
base class
    : is_class_impl<T>
      ^
          detected during:
            instantiation of class "boost::detail::is_class_impl<const T>
[with T=const int [10]]" at line 136
            instantiation of class "boost::is_class<T> [with T=const int
[10]]" at line 8 of
"C:\Temp\temp\serialization15\boost_1_31_0_rc1\libs\serialization\x\x.cpp"
C:\boost\boost_1_31_0_rc1\boost/type_traits/is_class.hpp(136): error: class
"boost::detail::is_class_impl<const int [10]>" has no member "value"

BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_class,T,::boost::detail::is_class_impl<T>::v
alue)
  ^
          detected during instantiation of class "boost::is_class<T> [with
T=const int [10]]" at line 8 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 - 2 error(s), 0 warning(s)

________________________________

It works with VC++6.5, it works with Intel C++ 7.0 and 8.0 _and_ Boost
1.30.2.

/Pavel


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