どなたか教えてくださいませ。

GetValue()という関数があったとして、仮引数に与えたTypeとIndexによって、
戻り値がfloatやlongとして返ってくる方法は無いでしょうか?
キャストや別関数を作成しないでまとめたいのです。

戻り値
float(or long) GetValue(long iType, long iIndex);