#include #if 1 // COMPILERROR_1 # include # include #else // COMPILERROR_2 # include # include #endif #include struct F { template void operator()(T) const {} }; int main() { boost::fusion::for_each(std::make_tuple(1), F()); // COMPILERROR_1 boost::fusion::for_each(boost::make_tuple(1), F()); // COMPILERROR_2 }