#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);
}
Burada CPP şablonlar kullanıyorum, bu yüzden big
argümanları double
ve int
türü atlayarak fonksiyonu çağırdığımda, hangi dönüş cevabını istiyorum double
. Buradaki tür, 32
yerine döner 32.8
.
İstediğim çıktıyı nasıl alabilirim? Uygun bir dönüş türü big
işlevi nasıl yazılır ?
std::max
uygulandığına bakmak isteyebilirsiniz . Bir işlevin dönüş türü C ++ derleme zamanında bilinmelidir. Bu nedenle, bu dönüş türünün parametrelerinizin çalışma zamanı değerine bağlı olmasını sağlayamazsınız. Bu nedenle, bu işlev için her iki parametrenin de aynı türe sahip olması gerekir (yani, X türüne sahip, ancak Y'ye sahip değilsiniz).