私はこの基本的なテストコードを試してみましたコンパイルリストデータ構造の作成について前に質問をしていたし、Boost.hanaBoost hanaを使って再帰的にconstexprリストを作成するには?
を使用するように助言された。
#include <boost/hana/tuple.hpp>
#include <boost/hana/for_each.hpp>
#include <boost/hana/concat.hpp>
#include <iostream>
namespace hana = boost::hana;
template<typename A, typename R>
constexpr R parse(A count)
{
if(count == 0)
{
return hana::make_tuple(0);
}
else
{
return parse(count - 1);
}
}
int main()
{
constexpr auto l = parse(10);
hana::for_each
(
l,
[](auto const& element)
{
std::cout << element << std::endl;
}
);
}
しかし、テンプレート型推論ではありません再帰関数を呼び出すたびに異なる型が返されるためです。 これには方法がありますか?