Hi Christian,


Christian Henning wrote:
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?

Actually, it looks like the code's working -- you're SFINAEing out foo for types that have a trivial destructor -- which includes int.  It works the same in g++4.5 and VC10.

Removing the not wrapper allows the code to compile on both -- as it should.

Try passing a type with a non-trivial destructor (e.g., std::string) to allow this use to compile.

HTH,
Nate