функция шаблона с более чем 1 именем - PullRequest
0 голосов
/ 23 января 2011

Кажется, шаблон C ++ может автоматически вычесть тип, когда есть только один параметр шаблона. Например,

template<typename T> 

void f(const T &t)
{
  cout << t << endl;
}

f(1);

нормально.

Однако

template<typename T1, typename T2> 

void f(const T1 &t1, const T2 &t2)
{
  cout << t1 << t2 << endl;
}

f(1, 2);

вышеуказанный код не может пройти компиляцию. Это из-за способности компилятора или против стандарта?

1 Ответ

3 голосов
/ 23 января 2011

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

...