Re[10]: error C2784: could not deduce template argument
От: collider  
Дата: 15.10.15 13:33
Оценка:
Здравствуйте, T4r4sB, Вы писали:

TB>Здравствуйте, collider, Вы писали:


TB>>>Хорошая загадка: "функция принимает параметр типа T, я в неё запихиваю параметр типа int, угадай T".

TB>>>Ещё хорошая загадка: "функция принимает параметр типа std::vector<T>, я в неё запихиваю параметр типа std::vector<int>, угадай T".
TB>>>Плохая загадка: "функция принимает параметр типа some_struct<T>, я в неё запихиваю параметр типа int, угадай T".

TB>>>Ты видишь разницу между третьей загадкой и первыми двумя?


C>>Неа, все 3 имеют одну единственно правильную отгадку


TB>А разницу в трудоёмкости определения T ты тоже не видишь? Ты не видишь, что в первых двух случаях всё сводится к тавтологии, а в третьем надо хз как перебрать все варианты?


TB>Вот тебе ещё три загадки, отвечай быстро:

TB>1. 5=x; найти икс
TB>2. e5=ex; найти икс
TB>3. 5=ex; найти икс
TB>Что, на третьей споткнулся, полез в калькулятор?
А было бы забавно, если бы компилятор, выдавал ошибку типа:
"не чувак, я слишком стар для таких задач."


C>>одну единственно правильную

TB>Да, и как ты это докажешь? Компилятор должен все-все-все возможные специализации перепроверить?
ну у него есть template<class T> struct some_struct;
и тип int — я бы сказал найти первую подходящую.
И кстати, вы как, быстро с этой задачей справились?

TB>И ещё, ты в курсе, что у тебя some_struct<std::vector<int> > тоже будет иметь конструктор, принимающий int?

А переменной типа std::vector в задаче нету
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.