Здравствуйте, collider, Вы писали:
C>ну наверное тем, что 123- это int
Ииии? Компилятор должен перебрать все возможные специализации шаблона, чтобы узнать, если ли среди них та, у которой есть конструктор, принимающий int (и единственная ли она)?
Задавай компилятору простые загадки.
Хорошая загадка: "функция принимает параметр типа T, я в неё запихиваю параметр типа int, угадай T".
Ещё хорошая загадка: "функция принимает параметр типа std::vector<T>, я в неё запихиваю параметр типа std::vector<int>, угадай T".
Плохая загадка: "функция принимает параметр типа some_struct<T>, я в неё запихиваю параметр типа int, угадай T".
Ты видишь разницу между третьей загадкой и первыми двумя?
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте