#include <iostream>
using namespace std;
template <class X, class Y>
Y big(X a, Y b)
{
if (a > b)
return (a);
else return (b);
}
int main()
{
cout << big(32.8, 9);
}
Hier verwende ich Vorlagen in CPP. Wenn ich also die Funktion bigaufrufe, die Argumente doubleund intTyp umgeht , möchte ich die Rückantwort, die lautet double. Den Typ hier gibt es 32statt 32.8.
Wie erhalte ich meine gewünschte Ausgabe? Wie schreibe ich einen richtigen Rückgabetyp big?
std::maxes implementiert wird. Der Rückgabetyp einer Funktion muss zur Kompilierungszeit in C ++ bekannt sein. Daher kann dieser Rückgabetyp nicht vom Laufzeitwert Ihrer Parameter abhängen. Aus diesem Grund müssen für eine solche Funktion beide Parameter denselben Typ haben (dh Typ X, aber nicht Y).