On Thursday, 8 November 2012 at 15:19:56 UTC, Dmitry Olshansky
wrote:
Naturally C++ doesn't have nested struct definitions.
I don't have a nested struct, the struct definition defines the
type only, and the nodes are allocated as pointers from a new
operation when the list is composed. The node struct has a member
var that may or may not be a struct type, it does not matter, and
C++ will allow a member data type to be a struct just fine.
I also want to template the recursive structure itself to
specify the
value type, ie struct R(T){ T value; d_list!R Rlist; }, but I
left that
out to keep the example more simple.
I've been stuck on this problem all day, so any help is
appreciated!
See if it helps.
I tried moving the node struct outside the d_list struct, but no
luck, and I think it should not matter anyway since I can get it
to work in that way without a template.
The solution so far is to do it the C++ way, using pointers,
which sucks.
I think in this case the D template should work just fine, and
the problem is either a bug or a design flaw with how templates
are evaluated.
I'll wait a bit longer for more comments before filing a bug
report.
--rt