関数テンプレート化頑張ってみます。
CからC++に移行したばかりで手間取りそうですが…

>>783の条件分岐の記述はもうちょっとスマートに処理できそうな気がするんですが
良い方法が思いつかず…