重複の可能性:
リターンタイプによるオーバーロード
関数の出力のみをオーバーロードすることは可能ですか?たとえば、2つの異なる方法でポーズを返すことができる関数があるとします。6DOFポーズまたは同種の変換行列。だから私は2つの機能を持っているでしょう:
Eigen::Vector6f pose();
と
Eigen::Matrix4d pose();
出力だけをオーバーロードしても大丈夫ですか?
そうすると、コンパイラはどの関数を使用するかをどのように知るのでしょうか?
私がこれをするときそれはそれを言うことができます:
Eigen::Matrix4d poseHolder = pose();
2番目の関数を使用するには?そうでない場合は、個別に名前を付けた関数を使用せずにこれを実現する方法はありますか?