以下の通り実行したい関数をregistで登録し、executeで実行したいです

regist(func1(a));
regist(func2(a,b));
execute();

このとき、registに渡される関数は引数も戻り値も不定なのですが、この場合registの引数の型はどうすればよいでしょうか?
環境はvs2012(C++)です