看到网上的例子,都是用
bitset<n> bs;
cout<<bs<<endl;
这样我想用TRACE语句调试,TRACE("%b",bs);调试输出显示 "b"
TRACE("%s",bs);就直接出错了,好像是unhandled打头的报错试着string sBs= bs.to_string();再显示sBs这样可以
请问能用TRACE直接看bitset对象的值吗

解决方案 »

  1.   

    bitset是字符,所以要用%b,一个个显示或者转换成字符串,再显示
      

  2.   

    回楼上,我用TRACE("%b",bs)
    调试输出的就是一个字母"b”,没有预想的一串0,1
      

  3.   

    你自己把bitset取出来,然后按字符等显示
      

  4.   

    能讲讲为什么不能直接用TRACE吗,为什么用cout就可以
      

  5.   

    为什么cout里可以,TRACE就应该可以?不能直接用,说明TRACE没提供这种支持呗,你不能假定一种接口有的,另外一种就必然有一个可能的解释,TRACE的格式化字符串只能作用于一小撮类型上(基本上只有预定以类型),它没有类的运算符重载那么容易扩展,实现一个cout << bitset比TRACE容易无穷大倍