News

The array mOutpuDevices is declared to contain pointers to the PinOutputAbstract class, the parent. But the array elements are pointers to instances of child classes.
IIRC C++ does not allow methods to be passed as function pointers. if b () were outside a class (a global function) it could be passed safely. Static methods might also be callable, but I'm not sure.