идёт про вывод типа шаблона, утверждается что, const и volatile отбрасываются
                  
                  
                  На примере объясняют, что:
                  
                  
                  template <class T>
                  
                  
                  void f(T x);
                  
                  
                  ...
                  
                  
                  int x = 0;
                  
                  
                  const int cx = 1;
                  
                  
                  f(cx);  // T  = int
                  
                  
                  тут const отбрасывается.
                  
                  
                  
                  
                  
                  Я попробовал этот пример, и где-то нашёл способ вывода типа, чтоб компилятор отобразил его в ошибке, так и сделал,
                  
                  
                  но у меня выдаёт
                  
                  
                   error: aggregate 'TD<const int> cxType' has incomplete type and cannot be defined
                  
                  
                     
                  
                  
                  template <typename T>
                  
                  
                  class TD;
                  
                  
                  int main() {
                  
                  
                      const int cx = 5;
                  
                  
                      TD<decltype(cx)> cxType;
                  
                  
                  }
                  
                  
                  Почему так получается?
                  
                  
                
А определение класса есть?
Как бы разные примеры
в чём разница?
В первом вывод типа из аргумента в втором просто указание типа
В примере вывода типа нет
Обсуждают сегодня