类似string str=b.to_string();的代码在GCC中不能通过,因为在GCC采用的STL库中,bit_set的to_string()是一个模板函数,MINGW中的定义为:
template<class _CharT, class _Traits, class _Alloc> basic_string<_CharT, _Traits, _Alloc> to_string() const { basic_string<_CharT, _Traits, _Alloc> __result; _M_copy_to_string(__result); return __result; }
使用它时,需要指明各参数,否则编译器无法根据返回值推导出各参数类型。
正确使用方式为:string str=b.to_string<char,char_traits<char>,allocator<char> >();
to_ulong()不是模板成员,可以直接使用。