13 Apr
2011
13 Apr
'11
3:10 p.m.
I'm a newbie to Phoenix, just exploring, but I guess my intent in this code is obvious. Can anyone tell me what I'm doing wrong? Thx - Rob. #include <iostream> #include <boost/spirit/include/phoenix_core.hpp> #include <boost/spirit/home/phoenix/operator.hpp> #include <boost/spirit/home/phoenix/statement.hpp> #include <boost/function.hpp> using namespace boost::phoenix; using namespace boost::phoenix::arg_names; using namespace std; int main() { boost::function<unsigned( unsigned )> factorial; factorial = if_else( _1 == 0, 1, _1 * factorial( _1 - 1 ) ); cout << factorial( 3 ) << endl; return 0; }