I've now the following code snipplet in a class:
DrvClassA *drv_a_obj;
DrvClassB *drv_b_obj;
DrvClassC *drv_c_obj;
if ( use_drv_a ) {
drv_a_obj = new DrvClassA(args);
}
if ( use_drv_b ) {
drv_b_obj = new DrvClassB(args);
}
if ( use_drv_c ) {
drv_c_obj = new DrvClassC(args);
}
and want to convert it somehow, to use only one variable for the created driver instance:
this->Drv = new DrvClassA(args);
}
if ( use_drv_b ) {
this->Drv = new DrvClassB(args);
}
if ( use_drv_c ) {
this->Drv = new DrvClassC(args);
}
I thought about creating an union like this, but I'm getting errors upon compile.
error: cannot convert 'DrvClassA*' to 'MainClass::DRIVERS*' in assignment
union DRIVER {
DrvClassA *drv_a_obj;
DrvClassB *drv_b_obj;
DrvClassC *drv_c_obj;
}
DRIVER *Drv;
Is this achievable somehow? What am I missing?