No, these are two different operators. The operator void* function is a type selection function, and operator() is the function call operator.
The first is used when you want to convert an instance of Foo to void* , for example, for example.
Foo foo; void* ptr = foo;
The second is used as a function:
Foo foo; void* ptr = foo();
Some programmer dude
source share