Boost logo

Boost Users :

From: Hansi (hansipet_at_[hidden])
Date: 2008-05-16 09:35:12


Hello,

I have a problem with a sematic action when I use int_p.

I have the following declaration:

array_declaration =
        confix_p(LEFT_BRACKET, int_p[new_int] ,RIGHT_BRACKET);

and new_int is defined in the following way:

typedef function< void( int ) > Int_action;
Int_action new_int ( bind( &SemanticActions::new_int,
&self.actions_, _1 ) );

in this case I get allways (VS2005) the error message:
Error 1 error C2064: term does not evaluate to a function taking 2
arguments
C:\Programme\boost\boost_1_34_1\boost\spirit\core\scanner\scanner.hpp 146

if I use instead of the Int_action a action

typedef function< void( const char*, const char* ) > Str_action;

I have no errors during compiling.

What I make wrong?

Best regards
Hansjörg


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