Разрешено ли использовать полные имена классов для параметров вложенных классов? - PullRequest
1 голос
/ 21 октября 2019

Это действительный код 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 без особого успеха.

...