У меня очень простая шаблонная функция, но есть путаница в том, как создать экземпляр / вызвать функцию из-за нетипичного параметра.
Определение функции шаблона выглядит следующим образом:
template<typename Glorp, int size>
Glorp min(Glorp array[size])
{
Glorp minival = array[0];
for (int i = 0; i < size; i++)
if (array[i] < minival)
minival = array[i];
return minival;
}
Теперь в main()
у меня есть следующий код:
void main()
{
const int size=5;
int array[size];
for (int i = 0; i < size; i++)
cin >> array[i];
int p = min(array[size]);
cout << p;
}
Это возвращает мне сообщение об ошибке:
Error 1 error C2783: 'Glorp min(Glorp *)' : could not deduce template argument for 'size' c:\users\tamara\documents\visual studio 2013\projects\nuevoprojecto\nuevoprojecto\main.cpp 23 1 NuevoProjecto
Как мне вызвать эту функцию из main()
? Я не могу найти ответ на этот вопрос, единственные примеры, которые я видел, были для не типовых параметров в шаблонных классах