fork download
  1. #include <cstdio> // for printf.
  2.  
  3. template<typename T>
  4. struct b
  5. {
  6. virtual auto f() -> void
  7. {
  8. std::printf("b::f()\n");
  9. }
  10. };
  11.  
  12. template<typename T>
  13. struct d1 : b<T>
  14. {
  15. auto test() && -> void
  16. {
  17. this->f();
  18. this->b<T>::f();
  19. }
  20. };
  21.  
  22. template<typename T>
  23. struct dd : d1<T>
  24. {
  25. virtual auto f() -> void override
  26. {
  27. std::printf("dd::f()\n");
  28. }
  29. };
  30.  
  31. auto main() -> int
  32. {
  33. dd<void>{}.test();
  34. }
  35.  
Success #stdin #stdout 0s 3296KB
stdin
Standard input is empty
stdout
dd::f()
b::f()