Q:

Storing a vector of various void function pointers with its parameters

I'm looking for a way to store function pointers in a container like a vector. This is possible if all the functions have the same parameters but can I do if the functions have individually unique parameters?
#include <iostream>
#include <vector>

using namespace std;

void sayHi() {
    cout << "Hi" << endl;
}

void sayNum(int num) {
    cout << num << endl;
}

int main() {
    vector<void(*)()> funcs; // vector of 0 argument functions
    funcs.push_back(sayHi);
    funcs.push_back(sayNum); // can't store sayNum because it takes arguments
}

Note that I can't use std::function or std::bind because VS2013 doesn't have them and I'd rather not use the boost library. The solution must be allow the possibility to iterate through the vector of function pointers and execute each one with some valid arguments.
Forgive my potential ignorance about how function pointers work, I'm very used to doing this sort of thing in Javascript in one statement :P

A:

VS 2103 has std::function, std::bind and lambdas.  Simply use them.

