Not sure if this is possible, but I have two classes of the same name in different levels of a nested namespace and I'd like to make the more shallow class a friend of the deeper class. Example:
In File1.h:
namespace A
{
  class Foo
  {
    //stuff
  };
}
In File2.h:
namespace A
{
  namespace B
  {
    class Foo
    {
      friend class A::Foo; //Visual Studio says "Error: 'Foo' is not a member of 'A'"
    };
  }
}
Is this possible? If so, what is the proper syntax?
                        
This code compiles ok when placed in one file (except that a
;is necessary afterA::B::Fooclass): IdeOne example.So, the issue is in the code not included in the question text. Probably
#include "File1.h"was forgotten inFile2.h.