| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > шаблоны |
| Автор: zss 6.5.2006, 22:21 | ||||||
есть шаблонный конструктор
почему компилятор не требует задания шаблонного аргумента
а вроде должно так
Тоесть не понятно - иногда для шаблонов это обязательно, а иногда нет |
| Автор: maxim1000 6.5.2006, 22:28 |
| если я не ошибаюсь, компилятор пытается "угадать" параметры шаблона на основании имеющейся информации в данном примере он смотрит на то, что параметр константной ссылки должен соответствовать параметру шаблона, вот и делает T=D такое угадывание не всегда корректно, но никто не заставляет ним пользоваться - в более сложных случаях можно указывать параметры шаблона везде - так будет надёжнее... |
| Автор: zss 6.5.2006, 23:09 | ||
меня смутило, что явное задание шаблонного аргумента не очень нравится компилятору. Выскакивают его непонятные притензии |
| Автор: Void 6.5.2006, 23:43 | ||
Меня тоже слегка озадачило. Выяснилось, что:
Стандарт, 14.5.2/5. |
| Автор: MAKCim 7.5.2006, 08:42 | ||||||
S у вас не шаблон, потому и выскакивают непонятные претензии Добавлено @ 08:47
Как раз понятно: когда компилятор не может вывести тип - требуется явная параметризация (подробнее Вандевурд, Джосаттис)
|
| Автор: zss 7.5.2006, 09:24 |
наверное ты прав |
| Автор: MAKCim 7.5.2006, 17:18 | ||
он выводится |