当我尝试使用Boost引用编译项目时,我得到一些错误C2766:
“显式专业化;'boost :: is_integral'已定义”
抱怨:
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,bool,true)
说它已经定义在:
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned char,true)
所有其他错误C2766s表明编译器将bool看作无符号字符。我几乎有一个相同的问题,我只是在问题点周围添加了一个#ifdef
来修复它,但是编辑一个库的头文件对于将项目传递给同事并不是一件好事:
关于为什么VS2010以这种方式解释bool的任何想法?