d2 中的嵌套模板结构实例化

nested templated struct instantiation in d2

我正在尝试将一个结构模板放入另一个结构模板,并将类型 T 作为参数。我必须将 T 传递给内部结构,但不能,因为我的模板定义中只能有一个 !

struct foo(T)
{
    qux!bar!T myBar;
}

struct bar(T)
{
    // do something with T.
}

struct qux(T)
{
    // do something with T;
}

尝试实现此目的的语法正确是什么?

只需使用括号来消除实例化顺序的歧义:

struct foo(T)
{
    qux!(bar!T) myBar;
}