map<int,int> hoge;
return hoge[0];

とかやったら、intにコンストラクタはないから返り値は未定ですよね。
int型とかにコンストラクタをつけたい場合は新しくクラスを作るしかないですか?