Wskaźnik do funkcji zadanie

0

Witam mam oto takie zadanie:
Napisać i przetestować szablon funkcji min_maks, której parametrami są:

a) tablica porównywalnych elementów dowolnego typu (np. T ),
b) rozmiar w/w tablicy,
c) wskaźnik do funkcji (np. F) z dwoma parametrami typu T i wynikiem typu bool.

Wywołanie funkcji min_maks ma za zadanie wyznaczyć minimum albo maksimum z elementów przekazanej jej tablicy, w zależności od dostarczonej F:
a) bool mniejsze(T pierwszy, T drugi) - zwracającej true jeśli pierwszy < drugi, false w przeciwnym przypadku.
albo
b) bool wieksze(T pierwszy, T drugi) - zwracającej true jeśli pierwszy > drugi, false w przeciwnym przypadku.

I oto mój kod:
`#include <iostream>
#include<cstdio>
using namespace std;

template<typename T>
bool mniejsze(T pierwszy, T drugi)
{
if(pierwszy<drugi)
{
return true;
}
else{ return false;}
}
template<typename T>
bool wieksze(T pierwszy, T drugi)
{
if(pierwszy>drugi)
{
return true;
}
else {return false;}
}

typedef bool(*F)(int ,int);

template<typename T>
T min_maks(T arr[],T rozmiar,F funkcja(T a , T b ))
{
if(funkcja==true&&funkcja==wieksze)
{
T maks=arr[0];
for(int i=0;i<rozmiar;i++)
{if(arr[i]>maks)
{maks=arr[i];}}
return maks;
}

if(funkcja=true&&funkcja==mniejsze)
{
T min=arr[0];
for(int i=0;i<rozmiar;i++)
{if(arr[i]<min)
{min=arr[i];}}
return min;
}
}

int main()
{
int arr[] = {1,2,3};

cout<<min_maks(arr,3,wieksze(3,1));

}

Czy mogę wiedzieć jaki popełniam błąd?

0

przy deklarowaniu parametrów

0
template<typename t="T">

?? po co to ="T"
To nie spring

1 użytkowników online, w tym zalogowanych: 0, gości: 1