私はその型の名前に依存する型のタプルを作成したいと思います。どのようにしてタプルの型名に依存するブーストタプルを作成できますか?
多分例は私の問題を明確にします:
//T would be boost::tuples::tuple<int, int, ...>
template <typename T>
T generate()
{
typedef T GT;
typedef boost::tuples::element<0,GT>::type tt0;
typedef boost::tuples::element<1,GT>::type tt1;
typedef boost::tuples::element<2,GT>::type tt2;
if(tt3==null_type)
return boost::tuples::make_tuple<tt0,tt1>(static_cast<tt0>(1), static_cast<tt1>(2));
else
return boost::tuples::make_tuple<tt0, tt1, tt2>(static_cast<tt0>(1), static_cast<tt1>(2), ...);
}
編集:私は良い方法を見つけた 、テンプレート再帰。 問題が解決しました。
そして、それらのエラーがありますか...? –
'typename'のより自由なアプリケーションは、あなたが望むものを得ることができます。 –
@Noah「より自由なtypenameの適用」という言葉を正確にどういう意味ですか? – bua