ほんとはこんなかんじで1つのメソッドにまとめたいけど、コンパイルエラーになります
  template <typename T>
  void get(const string& name, T& t) {
    if (name.compare("getInt1") == 0) getInt1(t);
    else if (name.compare("getInt2") == 0) getInt2(t);
    else if (name.compare("getChar") == 0) getChar(t);
    else if (name.compare("getLong") == 0) getLong(t);
  }

'hoge::getChar' : 1 番目の引数を 'int' から 'char &' に変換できません。

上記のエラーがいろいろでますが、コンパイラがif文をみてくれるわけでないので、
型が一致しないのはそうだと思い、Type2Typeで分けてみたけど、
型毎にメソッドを分けないといけないのが面倒です。