For the record ;) :
Well in my example it is pointless of course, but it's used to unhide base members if you're implementing the same function with a different signature in a derived class.
struct Base
{
void operator() (int);
};
struct Derived : public Base
{
using Base::operator(); // #1
void operator() (const char *); // #2
};
void foo()
{
Derived d;
d(123); // isn't possible without #1 as #2 hides all base members with the same name.
}