{
                  
                  
                    operator T() { return T(); }
                  
                  
                  };
                  
                  
                  
                  
                  
                  int main() {
                  
                  
                    std::cout << test<std::string>();
                  
                  
                    return 0;
                  
                  
                  }
                  
                  
                
Ошибка компиляции какая?
потому что на строчке с cout вызывается конструктор, а не то, что вы думаете
 Tolik
                          Malibroda
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Tolik
                          Malibroda
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Я и ожидаю вызова конструктора, интересно почему обьект не кастится
Наверное вопрос почему из объекта test нет неявного каста в строку
 Tolik
                          Malibroda
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Tolik
                          Malibroda
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Где?)
Потому что operator<< не может вывести аргументы шаблона basic_string
Обсуждают сегодня