B {
                  
                  
                      A geta();
                  
                  
                  };
                  
                  
                  
                  
                  
                  A B::geta(){
                  
                  
                      std::cout << "B::geta()" << std::endl;
                  
                  
                      return A();
                  
                  
                  }
                  
                  
                  
                  
                  
                  B A::getb(){
                  
                  
                      std::cout << "A::getb()" << std::endl;
                  
                  
                      return B();
                  
                  
                  }
                  
                  
                  
                  
                  
                  А так - работает. Почему?
                  
                  
                
В первом варианте на момент возврата B из функции он является не полным типом
Обсуждают сегодня