fork(1) download
  1. #include <iostream>
  2.  
  3. class B
  4. {
  5. int b;
  6. };
  7.  
  8. namespace A { class window; }
  9.  
  10. B f(A::window);
  11.  
  12. namespace A{
  13. class window{
  14. private:
  15. int a;
  16. // friend B ::f(window) ; //<<< Does not compile!
  17. friend B (::f(window)); //<<< Parentheses here to avoid compilation error
  18. };
  19. }
  20.  
  21. B f(A::window rhs){
  22. std::cout << rhs.a << std::endl;
  23. return B();
  24. }
  25.  
  26.  
  27. int main(void)
  28. {
  29. A::window w;
  30. B b = f(w);
  31. }
Success #stdin #stdout 0s 4404KB
stdin
Standard input is empty
stdout
0