digitalmars.D.learn - Forward Reference
- Anibal (12/12) Oct 09 2014 Hi everyone,
- Njkp (9/21) Oct 09 2014 make a pointer list instead, which has a fixed size:
- Nimrod the Shlomo (8/36) Oct 10 2014 fixed size: the item as pointer. But, BTW if you put a class as
- ketmar via Digitalmars-d-learn (17/32) Oct 09 2014 On Thu, 09 Oct 2014 19:04:55 +0000
- Anibal (3/40) Oct 09 2014 Thanks a lot, declaring it as an array solved mi troubles!
Hi everyone,
I'm trying to something like a tree structure.
The following:
import std.container;
class Tree
{
private SList!Tree subTree;
}
Produces: class Tree no size yet for forward reference.
How i should proceed in order to keep this declaration?
Thanks a lot!
PD: (You guys are incredibly quick to answer, that's awesome!)
Oct 09 2014
On Thursday, 9 October 2014 at 19:04:56 UTC, Anibal wrote:
Hi everyone,
I'm trying to something like a tree structure.
The following:
import std.container;
class Tree
{
private SList!Tree subTree;
}
Produces: class Tree no size yet for forward reference.
How i should proceed in order to keep this declaration?
Thanks a lot!
PD: (You guys are incredibly quick to answer, that's awesome!)
make a pointer list instead, which has a fixed size:
---
import std.container;
class Tree
{
private SList!(Tree*) subTree;
}
---
Oct 09 2014
On Thursday, 9 October 2014 at 19:26:20 UTC, Njkp wrote:On Thursday, 9 October 2014 at 19:04:56 UTC, Anibal wrote:fixed size: the item as pointer. But, BTW if you put a class as an item collection it's always a fixed size, a class is always a ptr. Better, you 'll be able to use the pointer without dereference. But you prefear the solution of the other guy...It's ok. I just hope that your subtree will not have to be reorganized too often...because with an array, it'll be very very very slow...Hi everyone, I'm trying to something like a tree structure. The following: import std.container; class Tree { private SList!Tree subTree; } Produces: class Tree no size yet for forward reference. How i should proceed in order to keep this declaration? Thanks a lot! PD: (You guys are incredibly quick to answer, that's awesome!)make a pointer list instead, which has a fixed size: --- import std.container; class Tree { private SList!(Tree*) subTree; } ---
Oct 10 2014
On Thu, 09 Oct 2014 19:04:55 +0000
Anibal via Digitalmars-d-learn <digitalmars-d-learn puremagic.com>
wrote:
Hi everyone,
=20
I'm trying to something like a tree structure.
=20
The following:
=20
import std.container;
class Tree
{
private SList!Tree subTree;
}
=20
Produces: class Tree no size yet for forward reference.
=20
How i should proceed in order to keep this declaration?
do you really need single-linked list for that? D has dynamic arrays,
which can be used instead.
class Tree {
private Tree[] subTree;
}
you can append items to dynamic array with "~=3D", get it length
with .length and so on.
seems that you trying to copy some C code (or writing in C
manner), amirite? it is possible to use D as "better C", but D has alot
more to offer. did you seen this excellent book:
http://ddili.org/ders/d.en/ ?
it will teach you some nice things which are absent in C. read it even
if you are seasoned C programmer. you'll see a joy of dynamic arrays,
slices, ranges and templates, nicely explained.
Oct 09 2014
On Thursday, 9 October 2014 at 19:29:13 UTC, ketmar via Digitalmars-d-learn wrote:On Thu, 09 Oct 2014 19:04:55 +0000 Anibal via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:Thanks a lot, declaring it as an array solved mi troubles!Hi everyone, I'm trying to something like a tree structure. The following: import std.container; class Tree { private SList!Tree subTree; } Produces: class Tree no size yet for forward reference. How i should proceed in order to keep this declaration?do you really need single-linked list for that? D has dynamic arrays, which can be used instead. class Tree { private Tree[] subTree; } you can append items to dynamic array with "~=", get it length with .length and so on. seems that you trying to copy some C code (or writing in C manner), amirite? it is possible to use D as "better C", but D has alot more to offer. did you seen this excellent book: http://ddili.org/ders/d.en/ ? it will teach you some nice things which are absent in C. read it even if you are seasoned C programmer. you'll see a joy of dynamic arrays, slices, ranges and templates, nicely explained.
Oct 09 2014









"Nimrod the Shlomo" <Nim fghri.ira> 