cxx_extended_friend_declarations.cpp 243 B

1234567891011121314151617181920212223242526272829
  1. template <typename T>
  2. struct B
  3. {
  4. B()
  5. : m_i(42)
  6. {
  7. }
  8. private:
  9. int m_i;
  10. friend T;
  11. };
  12. struct A
  13. {
  14. template <typename T>
  15. int getBValue(B<T> b)
  16. {
  17. return b.m_i;
  18. }
  19. };
  20. void someFunc()
  21. {
  22. A a;
  23. B<A> b;
  24. a.getBValue(b);
  25. }