
21 Nov
2012
21 Nov
'12
5:52 p.m.
Hi there, I have troubles compiling the following code with Visual C++ 2010 and boost 1.52. #include <boost/mpl/not.hpp> #include <boost/type_traits/has_trivial_destructor.hpp> #include <boost/utility/enable_if.hpp> template <typename T> void foo( typename boost::enable_if< boost::mpl::not_< boost::has_trivial_destructor< T > > >::type* /*ptr*/ = 0 ) { int i = 9; } int main(int argc, char* argv[]) { foo< int >(); return 0; } The error I'm getting is: error C2770: invalid explicit template argument(s) for 'void foo(boost::enable_if<boost::mpl::not_<boost::has_trivial_destructor<T>>>::type *)' Can someone see what the problem might be? Thanks, Christian