在使用 C++14 编译时,Vector.h 会产生编译器警告,原因是使用了 "if constexpr"
作者: mrkita创建于 2025年10月23日更新于 2025年10月23日
在使用 gcc 在 eastl 3.27.00 上编译时,在任何编译单元中包含 "include/vector.h" 时,我会遇到一个警告。警告如下: eastl/include/EASTL/vector.h: 在函数 'void eastl::internal::AssertValueFitsInType(IntSourceType, const char*)' 中:eastl/include/EASTL/vector.h:104:28: 警告: 'if constexpr' 仅在 '-std=c++17' 或 '-std=gnu++17' 选项下可用 [-Wc++17-extensions] 考虑到 eastl 向量是代码基中未受编译器特性保护的一部分,我预期此代码将无警告地编译。如果将 "if constexpr" 替换为已存在的编译器特性宏 "EA_CONSTEXPR_IF",则此警告将消失。
内容来源: electronicarts/EASTL