Рассмотрим такой случай:
template <typename T>
void func(T param) {
...
}
Эту функцию можно вызвать как с явным указанием типа (func<int>(i)), так и без него (func(i)) — тогда тип будет определён исходя их типа параметра.
А если у функции несколько шаблонных типов, и нужно указать только один из них, а остальные чтоб вывелись из типов параметров — такое как-то можно сделать? Например:
template <typename R, typename T>
R func(T param) {
...
}
Чтоб явно указать тип возвращаемого значения, а тип параметра определился автоматически?
P.S. Заранее извиняюсь за возможно глупый вопрос, я пока с шаблонами не очень дружу
Здравствуйте, 24, Вы писали:
24>А если у функции несколько шаблонных типов, и нужно указать только один из них, а остальные чтоб вывелись из типов параметров — такое как-то можно сделать? Например:
24>24>template <typename R, typename T>
24>R func(T param) {
24> ...
24>}
24>
24>Чтоб явно указать тип возвращаемого значения, а тип параметра определился автоматически?
Можно. Вот так и пиши, и тип параметра будет выводиться автоматически.
Здравствуйте, remark, Вы писали:
R>Можно. Вот так и пиши, и тип параметра будет выводиться автоматически.
Как просто всё оказалось
Я такой вариант даже не проверял, т.к. оно сразу выглядело слишком хорошо, чтоб быть правдой
Единственное, не может выводится тип возвращаемого значения (непонятно почему кстати с учетом введения auto)