gpt4 book ai didi

c++ - ‘is_trivially_copyable’ 不是 ‘std’ 的成员

转载 作者:IT老高 更新时间:2023-10-28 22:16:33 35 4
gpt4 key购买 nike

我的 gcc 版本是 4.8.3 20140624。我可以使用 is_podis_trivialis_standard_layout,但尝试 is_trivially_copyable 时失败is_constructibleis_default_constructible,也许更多。错误信息是'xxx' is not a member of 'std'

这里有什么问题?他们甚至被当前的 GCC 支持吗?谢谢!

最佳答案

正如其他人提到的,GCC 版本 < 5 不支持 C++11 标准中的 std::is_trivially_copyable

这里有一个破解这个限制的方法:

// workaround missing "is_trivially_copyable" in g++ < 5.0
#if __GNUG__ && __GNUC__ < 5
#define IS_TRIVIALLY_COPYABLE(T) __has_trivial_copy(T)
#else
#define IS_TRIVIALLY_COPYABLE(T) std::is_trivially_copyable<T>::value
#endif

对于常见情况,这种 hack 可能足以让您的代码正常工作。但是要小心,subtle differences GCC 之间的 __has_trivial_copystd::is_trivially_copyable。欢迎提出改进建议。

关于c++ - ‘is_trivially_copyable’ 不是 ‘std’ 的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25123458/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com