cxx_extended_friend_declarations.cpp 232 B

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