fork download
  1. class SomeClass
  2. {
  3. public:
  4. struct Test{};
  5. };
  6.  
  7. class Test:public SomeClass::Test{};
  8.  
  9. class FirstParent:public Test
  10. {
  11. public:
  12. //тут работает
  13. Test*test(){return nullptr;}
  14. };
  15.  
  16. class SecondParent:public Test
  17. {
  18. public:
  19. //тут работает
  20. Test*test(){return nullptr;}
  21. };
  22.  
  23. class Child:public FirstParent,public SecondParent
  24. {
  25. public:
  26. //а тут не работает
  27. Test*test(){return nullptr;}
  28. };
  29.  
  30. int main()
  31. {
  32. return 0;
  33. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp:27:5: error: reference to ‘Test’ is ambiguous
     Test*test(){return nullptr;}
     ^~~~
prog.cpp:4:16: note: candidates are: struct SomeClass::Test SomeClass::Test::Test
     struct Test{};
                ^
prog.cpp:7:34: note:                 class Test Test::Test
 class Test:public SomeClass::Test{};
                                  ^
stdout
Standard output is empty