L
Lutz Altmann
hi
i'm trying to use the "functional extensions" of the stl.
having a "problem" with the unary_compose..
The following code seems right to me, but doesnt compile -
if i declare "operator()" of "struct one" as const it works - but
i dont understand why it has to be static .. ?!
#include <functional>
#include <iostream>
#include <ext/functional>
using namespace std;
using namespace __gnu_cxx;
struct one: public unary_function<int, int>
{
int operator()(int arg)
{
return ++arg;
}
};
int main(int argc, char** argv) {
one o1,o2;
int i = 2;
unary_compose<one,one> func = compose1(o1,o2);
cout<<func(i)<<endl;
return (EXIT_SUCCESS);
}
i'm trying to use the "functional extensions" of the stl.
having a "problem" with the unary_compose..
The following code seems right to me, but doesnt compile -
if i declare "operator()" of "struct one" as const it works - but
i dont understand why it has to be static .. ?!
#include <functional>
#include <iostream>
#include <ext/functional>
using namespace std;
using namespace __gnu_cxx;
struct one: public unary_function<int, int>
{
int operator()(int arg)
{
return ++arg;
}
};
int main(int argc, char** argv) {
one o1,o2;
int i = 2;
unary_compose<one,one> func = compose1(o1,o2);
cout<<func(i)<<endl;
return (EXIT_SUCCESS);
}