|
Boost Users : |
From: Matt Brown (deadguysfrom_at_[hidden])
Date: 2008-03-12 21:35:44
I just tried to build this code in visual studio 2005, and got error:
error C3201: the template parameter list for class template
'boost::mpl::bind2<F,T1,T2>::apply' does not match the template
parameter list for template parameter 'boolfunc'
This code works fine with gcc, and boost mpl portability page
(http://www.boost.org/libs/mpl/doc/tutorial/portability.html) says my
version of visual studio should be able to compile this. However, it
appears to think the lambda< ... >::type::apply is not
a metafunction. Any help will be greatly appreciated.
-Matt Brown
#include <iostream>
#include <boost/mpl/lambda.hpp>
#include <boost/type_traits/is_same.hpp>
#include <boost/mpl/placeholders.hpp>
template <template <typename> class boolfunc>
class test
{
public:
static void print()
{
if(boolfunc<int>::type::value)
{
std::cout << "int: true\n";
}
}
};
int main(void)
{
test<
boost::mpl::lambda<
boost::is_same<boost::mpl::_1, int>
>::type::apply
>::print();
};
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net