[parameter] compiler errors with operator()

Hello all, I am trying to compile the example from Boost.Parameter section 2.2 but I get the GCC errors below. The errors go aways if I name the member function `f` instead of `operator()`. What am I doing wrong? How do I use Boost.Parameter with member operators? // File: "c2.cpp". #include <boost/parameter.hpp> #include <iostream> BOOST_PARAMETER_NAME(arg1) BOOST_PARAMETER_NAME(arg2) struct callable2 { BOOST_PARAMETER_CONST_MEMBER_FUNCTION( (void), operator(), tag, (required (arg1,(int))(arg2,(int)))) { std::cout << arg1 << ", " << arg2 << std::endl; } }; int main() { callable2 c2; c2(1, 2); c2(2, 1); return 0; } $ g++ -Wall -Werror example/Own/parameter/c2.cpp example/Own/parameter/c2.cpp:10: error: expected unqualified-id before ‘)’ token example/Own/parameter/c2.cpp:10: error: expected unqualified-id before ‘)’ token example/Own/parameter/c2.cpp:10: error: expected unqualified-id before ‘)’ token example/Own/parameter/c2.cpp:10: error: expected nested-name-specifier before ‘boost_param_result_11operator’ example/Own/parameter/c2.cpp:10: error: expected initializer before ‘<’ token example/Own/parameter/c2.cpp:10: error: expected nested-name-specifier before ‘boost_param_result_11operator’ example/Own/parameter/c2.cpp:10: error: expected initializer before ‘<’ token example/Own/parameter/c2.cpp:10: error: ‘boost_param_default_11operator’ declared as function returning a function example/Own/parameter/c2.cpp: In member function ‘int callable2::boost_param_default_11operator()’: example/Own/parameter/c2.cpp:13: error: ‘arg1’ was not declared in this scope example/Own/parameter/c2.cpp:13: error: ‘arg2’ was not declared in this scope cc1plus: warnings being treated as errors example/Own/parameter/c2.cpp:14: warning: no return statement in function returning non-void example/Own/parameter/c2.cpp: In function ‘int main()’: example/Own/parameter/c2.cpp:19: error: no match for call to ‘(callable2) (int, int)’ example/Own/parameter/c2.cpp:20: error: no match for call to ‘(callable2) (int, int)’ $ g++ --version g++ (GCC) 4.2.4 (Ubuntu 4.2.4-1ubuntu4) I am using Boost v1.42.0 Thank you very much. -- Lorenzo P.S. Shall I report these type of questions on this mailing list or in Boost's TRAC? I am new to Boost.Parameter so I am not sure these are actual bugs...
participants (1)
-
Lorenzo Caminiti