Question: I have a structure called scene. Within the structure called scene, I need to make an array of other scene objects. Is this possible?

Answer: 
Yes. You can do that. But you've to declare the member as *pointer* as: 

```
struct scene
{
     //other members

     scene *children; //this is what you need.
                      //you cannot make it like : scene children[100];
};

```

Then create the dynamic array as:

```
scene parent;
parent.chidren = new scene[100]; //100 children!

```

Just remember that you've to allocate and deallocate the memory yourself.

Alternatively, you can use `std::vector<scene*>`, or [`boost::ptr_vector<scene>`](http://www.boost.org/doc/libs/1_48_0/libs/ptr_container/doc/ptr_vector.html).
Sure it is possible.

Pseudocode:

```
struct Scene {
   int id;
   Scene* scenes;
};

```

PS. you could easily test this - do not be so lazy. ;)