You can indeed make the main
function a friend of a class like so:
int main(int, char**);
namespace N {
struct C {
friend int ::main(int, char**);
private:
int privateer = 42;
};
}
int main(int, char**) {
::std::cout << N::C().privateer << "\n";
}
However, why not just make doSomething
a non-static member function?