【发布时间】:2010-10-23 20:33:21
【问题描述】:
我在 proto.h 的第 42 行添加了以下内容:
typedef boost::make_unsigned<off_t>::type uoff_t;
现在我从 gcc 收到了这个冗长且令人困惑的警告,抱怨将枚举与相同的枚举类型进行比较:
In file included from proto.cpp:12:
/usr/local/include/boost/type_traits/is_unsigned.hpp: In instantiation of 'boost::detail::is_ununsigned_helper<long int>':
/usr/local/include/boost/type_traits/is_unsigned.hpp:73: instantiated from 'boost::detail::is_unsigned_imp<long int>'
/usr/local/include/boost/type_traits/is_unsigned.hpp:123: instantiated from 'boost::is_unsigned<long int>'
/usr/local/include/boost/type_traits/make_unsigned.hpp:110: instantiated from 'boost::detail::make_unsigned_imp<long int>'
/usr/local/include/boost/type_traits/make_unsigned.hpp:130: instantiated from 'boost::make_unsigned<long int>'
proto.h:42: instantiated from here
/usr/local/include/boost/type_traits/is_unsigned.hpp:40: warning: comparison between 'enum boost::detail::is_unsigned_values<long int>::<anonymous>' and 'enum boost::detail::is_unsigned_values<long int>::<anonymous>'
谁能破译这个?
【问题讨论】:
-
您使用的是哪个版本的 Boost?
-
@GMan:也许他没有。这种提升可能是他的环境中预装的。
-
@WilliamKF:看看
/usr/local/include/boost/version.hpp。 GCC 版本也会有所帮助。 -
@usta Boost 是 v1.43.0 (major.minor.patchLevel)
-
@usta g++ (GCC) 4.2.1 20070719 [FreeBSD]
标签: c++ gcc boost compiler-warnings