void c_control::call_unit_function(void (*unit_function)()){ for (int i=0; i<sizeof(unit_tlist)/sizeof(*unit_tlist); i++) { if (unit_tlist==0){continue;} unit_tlist->unit_function(); }}
...to pass a subordinate class unit(pointers stored in the array) function to all living units from the controller.
For example...
class unit{public: void draw_unit(){/*draw*/}};class controller{ void loop_units(unit_function) { for (/*loop*/) { current_unit->unit_function(); } } void draw_units() { loop_units(unit::draw_unit); }}
I hope that that explains what I am trying to do...