を参照する要素のリストをA
表すforwardを宣言するにはどうすればよいですか?B
C
boost::recursive_wrapper
A
すべての型がテンプレート化されたものである場合に特に関心があります。言う、
template< typename F > struct expression
: tagged, boost::spirit::extended_variant<
nil,
F,
boost::recursive_wrapper< expression_list< F >
> >
{...};
それでは、 expression_listはどうあるべきでしょうか? :
template< typename F > struct expression;
template< typename F >
using expression_list = std::list< expression< F > >;
... // definition of template< typename F > expression; here
boost::recursive_wrapper
のテンプレート パラメータ リストでは使用できませんが、
template< typename F >
struct expression_list;
... // definition of template< typename F > expression; here
template< typename F >
struct expression_list
: std::list< expression< F > >
{ ; }
ありstatic_assert(!std::has_virtual_destructor< std::list< expression< F > > >::value, "has virtual destructor")
、したがって、あまりにも使用することはできません。