How to construct a tree data structure with differently static nodes types
data pulverizer
data.pulverizer at gmail.com
Mon Nov 23 01:20:04 UTC 2020
Hi all,
I am trying to construct a tree data structure composed of
differently (statically) typed nodes. The basic case is a binary
tree. So you have a node like:
```
struct Node(T)
{
T value;
Node* next;
Node* prev;
}
void main()
{
auto x = Node!(int)(2);
auto y = Node!(double)(3.2);
x.next = &y; //gives error
}
```
Error: cannot implicitly convert expression & y of type
Node!double* to Node!int*
So implicity Node!(T) will produce an object with prev, and next
type Node!(T)*. But once I give them different types:
```
struct Node(T, P, N)
{
T value;
Node!(P...)* prev;
Node!(N...)* next;
}
```
I can no longer specify the types at all, they become circularly
referenced. Would appreciate the solution to this.
Many thanks.
More information about the Digitalmars-d-learn
mailing list