Здравствуйте, есть вот такое задание:
Написать функцию, принимающую список целых чисел и указатель на функцию типа int (int), и заменяющую каждый элемент списка на результат применения к нему функции-параметра.
Я попытался написать эту функцию, вот как выглядит мой код:
#include <iostream>
#include <ctype.h>
#include "fixedstack.h"
using namespace std;
template<typename int>
void function3(int [], int, int(*)(int));
int foo(int);
int main()
int size = 0;
int number = 0;
int i = 0;
int* array = NULL;
cout << "Enter amount of numbers: ";
cin >> size;
array = new int[size];
for (int i = 0; i < size; i++)
{
cin >> number;
array[i] = number;
}
function3(array, size, foo);
return 0;
}
template<typename int>
void function3(int array[], int size, int(*func)())
{
for (int i = 0; i < size; i++)
{
array[i] = foo(array[i]);
}
cout << "\nResult:" << endl;
for (int i = 0; i < size; i++)
{
cout << array[i] << " ";
}
cout << endl;
}
int foo(int number)
{
return number * 10;
}
В результате VS выдает такие ошибки:
Ошибка C2672 "function3": не найдена соответствующая перегруженная функция
Ошибка C2783 void function3(int [],int,int (__cdecl *)(int)): не удается составить аргумент шаблон для "__formal"
Ошибка (активно) E0304 отсутствуют экземпляры перегруженная функция "function3", соответствующие списку аргументов