Нет вычета в шаблоне класса - PullRequest
7 голосов
/ 10 октября 2010
template<typename T> 
class A { 
  public: 
    A(T b) : a(b) { 
    } 
  private: 
    T a; 
}; 

A object(12); //Why does it give an error?

Почему тип T не может быть автоматически выведен из аргумента 12?

1 Ответ

4 голосов
/ 10 октября 2010

Вывод аргумента шаблона применяется только к шаблонам функций и функций-членов, но не к шаблонам классов. Таким образом, ваш код плохо сформирован.

Вам необходимо явно указать аргумент шаблона.

A<int> object(12); //fine
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...