#include #include #include struct TestThing { int bla; char blabla[10]; }; BOOST_FUSION_ADAPT_STRUCT( TestThing, bla, blabla ); struct FuncThing { void operator() (int& bla) const { std::cout << "Int" << std::endl; } void operator() (const int& bla) const { std::cout << "Const Int" << std::endl; } // should be correct though void operator() (char bla[10]) const { std::cout << "Char [10]" << std::endl; } // Wrong void operator() (const char bla[10]) const { std::cout << "Const Char [10]" << std::endl; } }; int main () { TestThing bla; FuncThing f; boost::fusion::for_each(bla, f); return 0; }