#include <iostream>
#include <vector>
    using namespace std;

    double voltage(double v) {
        return v;
    }
    double hdot(double h) {
        return h * 2;
    }
    double ndot(double n) {
        return n * 3;
    }

    typedef double(*eqpointer)(double);

int main() {
    vector<eqpointer> ODE = { voltage, hdot, ndot };
    int eq_num = ODE.size(); // quantity elements in ODE[]
    vector<double> midvalues(eq_num);
    for (int j = 0; j < eq_num; j++) {
        midvalues[j] = (*ODE[j])((j + 1) * 10) / 2;  // Value For Example
        printf("midvalues[%d]: %f\n", j, midvalues[j]);
    }
    return 0;
}