If you were to have each node object contain 2 more node objects, every node object would contain an infinite amount of node objects. In other words it's impossible and that's why you are getting an error. Having a pointer too another node object on the other hand is perfectly fine.