Это действительный код C ++? Он содержит полное имя класса внутри объявления . Я имею в виду параметр const A::B & param
в определении класса.
Я могу скомпилировать его с помощью g ++. Я никогда не видел этого раньше, поэтому я хотел бы знать, если стандарт действительно позволяет это.
namespace Foo
{
class A
{
class B
{
public:
void foo( const A::B & param);
};
};
void A::B::foo (const A::B & param)
{
}
}
Я проверил https://isocpp.org/search/google?q=argument+lists без особого успеха.