List of C++ name resolution (and overloading) rules
Well, in broad strokes: If the name is preceded by ::, as in ::A or X::A, then use qualified name lookup. First look up X, if it exists (if not use the global namespace) then look inside it for A. If X is a class, and A is not a direct member, then look in … Read more