If anyone is interested, here's my current work-a-round ...

// original code that fails ...

struct R
{
   int value;
   d_list!R Rlist;
}

// d-linked list with templated payload
struct d_list( T )
{
   struct node
   {
      T payload;
      node* pred;
      node* succ;
   }
   node* head;
   node* tail;
}

// modified code that works ...

// no changes made
struct R
{
   int value;
   d_list!R Rlist;
}

// definition moved out of d_list
struct node( T )
{
   T payload;
   node* pred;
   node* succ;
}

// Added default type N = node!(T)
struct d_list( T, N = node!(T) )
{
   N* head;
   N* tail;
}

Thanks again for all your help!

--rt

Reply via email to