为什么在gcc的is_nothrow_constructible实现中需要static_cast?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么在gcc的is_nothrow_constructible实现中需要static_cast?相关的知识,希望对你有一定的参考价值。
取自type_traits
的GCC实施,为什么这里需要static_cast
?
template <typename _Tp, typename... _Args>
struct __is_nt_constructible_impl
: public integral_constant<bool, noexcept(_Tp(declval<_Args>()...))> {};
template <typename _Tp, typename _Arg>
struct __is_nt_constructible_impl<_Tp, _Arg>
: public integral_constant<bool,
// Why is `static_cast` needed here?
noexcept(static_cast<_Tp>(declval<_Arg>()))> {};
答案
如果发明的变量声明
以上是关于为什么在gcc的is_nothrow_constructible实现中需要static_cast?的主要内容,如果未能解决你的问题,请参考以下文章