VS2010认为bool是unsigned char

时间:2014-05-20 14:05:50

标签: c++ visual-studio-2010 boost

当我尝试使用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来修复它,但是编辑一个库的头文件对于将项目传递给同事并不是一件好事:

https://stackoverflow.com/questions/23573211/error-c2766-explicit-specialization-redefinition-within-windows-header

关于为什么VS2010以这种方式解释bool的任何想法?

0 个答案:

没有答案