функции Foo, которая должна принимать класс А<Т> при любом Т. Я сделал это так:
                  
                  
                  
                  
                  
                  template<typename T, template <typename> class U>
                  
                  
                  enable_if_t<is_same_v<A<T>, U<T>>, U<T> Foo(string s){}
                  
                  
                  
                  
                  
                  Теперь я вызываю функцию в другой шаблонной функции:
                  
                  
                  
                  
                  
                  template<typename T>
                  
                  
                  auto Bar(string arg){
                  
                  
                   return Foo<T>(arg);
                  
                  
                  }
                  
                  
                  
                  
                  
                  но так оно не работает. Вообщем в сумме нужна перегрузка на класс типов A<T> где Т это параметр, а А это конкретный класс, и при этом чтобы в другой функции некий параметр U, дедуктировался как А<int> например, и следовательно Foo<U>, где U = A<int> выбирало соответствующую перегрузку?
                  
                  
                
 Pepe 🐸
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Pepe 🐸
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Нет, MyClass<T>, только Т параметр. Я ниже пример привел
т.е. нужно выцепить из A<T> то самое T и пробросить в MyClass?
 Pepe 🐸
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Pepe 🐸
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Я коряво объяснил, А это и есть MyClass. Нужно чтобы перегрузка принимала MyClass<Т> для любого Т, и при этом можно было сделать вызов Foo<U> где U = MyClass<int> или MyClass<float> и тп – это шаблонный параметр переданный в другую функуию
угу, насчет того что нужна перегрузка Foo которая умеет работать только с MyClass<T> все ясно. А какой тип возвращаемого значения должен быть у Foo? Из вашего изначального кода непонятно
 Pepe 🐸
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Pepe 🐸
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  MyClass<T>
https://godbolt.org/z/Px3rEocWo так?
 Pepe 🐸
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Pepe 🐸
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  да, на вид так, спасибо) сейчас разберусь как сделано
Обсуждают сегодня