g++(3.2)を初めて触ってみてるのですが、
ひょっとして、std::wstringが使えなかったりします?

それと、setのconst_iteratorをtypedefすると、implicit typenameという警告が出ますが
これはどういう意味でしょうか。(bcc32だと素通りするコード)