Не уверен, что это возможно, но у меня есть два класса с одинаковым именем на разных уровнях вложенного пространства имен, и я хотел бы сделать более мелким класс друга более глубокого класса. Пример:Класс класса С ++ с тем же именем на разных уровнях вложенного пространства имен
В File1.h:
namespace A
{
class Foo
{
//stuff
};
}
В File2.h:
namespace A
{
namespace B
{
class Foo
{
friend class A::Foo; //Visual Studio says "Error: 'Foo' is not a member of 'A'"
};
}
}
Возможно ли это? Если да, то какой правильный синтаксис?
ли вы включать '' File1.h' в File2.h'? – StoryTeller