title image


Smiley Re: templates
Hi!

Dein Funktionstemplate erwartet als Parameter einen Zeiger auf eine Funktion mit einem Funktionsparameter vom Typ "a", die einen Parameter vom Typ "b" zurückgibt(1), und einen Funktionsparameter vom Typ "a"(2). Das Resultat des Funktionstemplates ist vom Typ "b" (3). Alle Klarheiten beseitigt?



template <typename a, typename b>

b // (3)

comp

(

b(*f1)(a), // (1)

a x // (2)

)

{

return f1 (x);

}



Eine Funktion, die zu (1) "paßt", wäre z.B:



bool f (double d)

{

if (d < 0.0)

return true;

else

return false;

}



Du mußt nur die richtigen Templateparameter einsetzen:

b(*f1)(a)

wird zu

bool(*f1)(double)

Also wäre b vom Typ bool und a vom Type double.

Jetzt versuche erstmal selbst, dein Funktionstemplate mit den Parametern ...

1. Zeiger auf Funktion f (siehe oben)

2. einem double-Parameter

... aufzurufen.



??? result = comp (???, ???);



cheers,

BF



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: