2012年8月10日金曜日

has_binary_operator.hppでwarning C4819が大量発生

boost 1.50を使うとファイルboost/type_traits/detail/has_binary_operator.hppの文字コードの問題でこの警告が大量発生する。

boost/type_traits/detail/has_binary_operator.hpp : warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。

問題は、このファイルの34行目。しかし、文字コードがダメなのかVisual Studioのバグなのか良くわからない。Visual Studio 2010で開くとこのように一見問題無さそうに見える。

//    warning C4547: '*' : operator before comma has no effect; expected operator with side-effect

Terapadで開くと「'*'」の次が文字化けしているのが分かった。

//    warning C4547: '*'?: operator before comma has no effect; expected operator with side-effect

これを別のスペースで上書きして対処した。