c – has :: std :: has_nothrow_default_constructor已被移动/
发布时间:2020-12-16 09:41:06 所属栏目:百科 来源:网络整理
导读:在使用 gcc 4.7.2尝试 build boost mirror时,我遇到了这个错误,但奇怪的是,我看到了 this documentation. 移动/更改了:: std :: has_nothrow_default_constructor? In file included from /home/kfeng/src/mirror-lib/include/mirror/type_traits.hpp:20:0,
在使用
gcc 4.7.2尝试
build boost mirror时,我遇到了这个错误,但奇怪的是,我看到了
this documentation.
移动/更改了:: std :: has_nothrow_default_constructor? In file included from /home/kfeng/src/mirror-lib/include/mirror/type_traits.hpp:20:0,from /home/kfeng/src/mirror-lib/include/mirror/mirror_base.hpp:38,from /home/kfeng/src/mirror-lib/include/mirror/mirror.hpp:16,from /home/kfeng/src/mirror-lib/src/mirror/example/all_member_variables.cpp:10: /home/kfeng/src/mirror-lib/include/mirror/type_traits/is_default_constructible.hpp:31:2: error: ‘has_nothrow_default_constructor’ is not a member of ‘std’ /home/kfeng/src/mirror-lib/include/mirror/type_traits/is_default_constructible.hpp:28:9: error: parse error in template argument list /home/kfeng/src/mirror-lib/include/mirror/type_traits/is_default_constructible.hpp:31:43: error: expected ‘{’ before ‘::’ token /home/kfeng/src/mirror-lib/include/mirror/type_traits/is_default_constructible.hpp:31:51: error: expected initializer before ‘||’ token In file included from /home/kfeng/src/mirror-lib/include/mirror/type_traits.hpp:21:0,from /home/kfeng/src/mirror-lib/src/mirror/example/all_member_variables.cpp:10: /home/kfeng/src/mirror-lib/include/mirror/type_traits/is_copy_constructible.hpp:31:2: error: ‘has_nothrow_copy_constructor’ is not a member of ‘std’ /home/kfeng/src/mirror-lib/include/mirror/type_traits/is_copy_constructible.hpp:28:9: error: parse error in template argument list /home/kfeng/src/mirror-lib/include/mirror/type_traits/is_copy_constructible.hpp:31:40: error: expected ‘{’ before ‘::’ token /home/kfeng/src/mirror-lib/include/mirror/type_traits/is_copy_constructible.hpp:31:48: error: expected initializer before ‘||’ token make[2]: *** [src/mirror/example/CMakeFiles/mirror-all_member_variables.dir/all_member_variables.cpp.o] Error 1 make[1]: *** [src/mirror/example/CMakeFiles/mirror-all_member_variables.dir/all] Error 2 make: *** [all] Error 2 答案使用下面的Pubby注释 这样的东西应该与gcc 4.7.2一起使用 – 我将提交补丁并让维护者决定如何最好地处理它. template <typename T> struct is_default_constructible : std::integral_constant< bool,::std::has_trivial_default_constructor<T>::value || #if __cplusplus>=201103L ::std::is_nothrow_default_constructible<T>::value || #else ::std::has_nothrow_default_constructor<T>::value || #endif mirror::_class::_<T>::has_default_ctr::value> { }; 解决方法
在C 11中,它被更改为std :: is_nothrow_default_constructible以更符合命名.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |