C++ calling the same function with scope operator - is it useful?
c++, scope
Solution
If you had a use case like this:
//in the global namespace
int myFunc(int);
//elsewhere
class MyClass
{
int myFunc(int argument)
{
// do some stuff
return (::myFunc(another_argument));
}
}
Here we need to discern between the member function and the free function. This is quite a common occurrence when wrapping C libraries.
In this case `::` forces the compile to pick the version that resides in the global namespace rather than the member function which would end up recursively calling itself.
Problem
I know that the :: operator in C++ is the scope-resolution, but what's the purpose of calling a function inside a class with it like this ``` class MyClass { int myFunc(int argument) { // do some stuff return (::myFunc(another_argument)); } } ``` is there a practical reason? Is a "this" subintended in that?