Hi Gordon,

Thank you for your reply. Incredibly, somehow, i forget to combine the boost::phoenix namespace. I think i did it mentally, but forget to compile. :-P

Regards,
Júlio.

2011/9/22 Gordon Woodhull <gordon@woodhull.com>

On Sep 22, 2011, at 2:12 PM, Júlio Hoffimann wrote:

Dear all,

I can't understand why this test case is not compiling:

#include    <boost/function.hpp>
#include    <boost/phoenix/core/argument.hpp>
#include    <boost/phoenix/operator.hpp>
#include    <iostream>
 
using namespace boost::phoenix::placeholders;
expression::argument<1>::type X;
try

typename boost::phoenix::expression::argument<1>::type X;

or something equivalent
 
int main ( int argc, char *argv[] )
{
    boost::function<int(int)> f;
    f = if_else( X == 0, X, X*2 );
    std::cout << f(0) << f(12) << std::endl;
    return 0;
}  // ----------  end of function main  ----------
The error message says 'expression' does not name a type. I've tried to explicitly play with boost::phoenix namespaces, but doesn't work.

HTH,
Gordon



_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users