いくつかのサブ関数を呼び出して、これらのサブ関数の結果を返す関数を作成したいと思います。
sub functions:
template<class A> A sub1(A a)
template<class B> B sub2(B b, int i)
template<class C> C sub3(C c, string p)
関数は、switchステートメントでこれらを適宜呼び出します。申し訳ありませんが、問題と混同されてコードを書き始めていないため、疑似コードしかありません。
mf(string s)
{
int k;
k = process(s)
string
switch (k){
case 0:
return sub1(k);
case 1:
return sub2(s, k);
case 2:
return sub3(k, s);
default:
break;
}
}
現在、リターンタイプがないため、上記のmfをどのように定義できますか?テンプレートをもう一度使用しますか?ちなみに、私のc++コンパイラは私があまり馴染みのないc++11標準をサポートしています。