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--------------------
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:\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"

          detected during instantiation of class "boost::is_class<T> [with
T=const int [10]]" at line 8 of
compilation aborted for
(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


Boost list run by bdawes at, gregod at, cpdaniel at, john at