How can I declare an ofParameter<T>, to hold either a float or an int ofParameter?

Hi all,
I have a few sliders on an ofxPanel. Some sliders are ofxFloatSlider and other are ofxIntSlider.
When I modify one of them by mouse, I want to hold this last parameter in a variable named “focusedParameter”. This focused parameter should ideally be of type “ofAbstractParameter”, but if I do it like that, I am not sure how to use the reference to this object so that I can later use it for increment/decrement operations.

Let me explain:
This is how I usually get the focused parameter:

ofAbstractParameter focusedParameter = anOfxFloatSlider.getParameter() ;

Then, this is how I would (ideally) alter the value:

void ofApp::changeParameter( ofAbstractParameter* val , const int step)
{
        val->set(val->get()+step);
}
void ofApp::changeParameter( ofAbstractParameter* val , const float step)
{
        val->set(val->get()+step);
}

but the set / get / + operations are not defined on the ofAbstractParameter class, but rather on the ofParameter class.

in which case:

void ofApp::changeParameter( ofParameter<int>* val , const int step)
void ofApp::changeParameter( ofParameter<float>* val , const float step)

would work. but in this case, I do not know how to declare the “focusedParameter” in a way that both ofParameter<int> and ofParameter<float> can stored in it.

Can you advise?

thank you