C++ 异常规范是SFINAE中直接上下文的一部分吗?

C++ 异常规范是SFINAE中直接上下文的一部分吗?,c++,language-lawyer,sfinae,noexcept,C++,Language Lawyer,Sfinae,Noexcept,这是对以下问题的后续行动: 我写了一些代码,比如 template<typename... Args> StrongAlias(Args&&... args) noexcept(noexcept(T(std::declval<Args>()...))) : value(std::forward<Args>(args)...) {} 模板 strong别名(Args&…Args)noexcept(noexcept(T(std::decl

这是对以下问题的后续行动:

我写了一些代码,比如

template<typename... Args>
StrongAlias(Args&&... args) noexcept(noexcept(T(std::declval<Args>()...)))
    : value(std::forward<Args>(args)...) {}
模板
strong别名(Args&…Args)noexcept(noexcept(T(std::declval()…))
:值(std::forward(args)…{}
如果无法从参数类型构造
T
,则将禁用
StrongAlias
构造函数,但另一位用户告诉我,这不起作用,因为异常规范不是即时上下文的一部分

异常规范不是直接上下文的一部分吗?我不明白为什么会出现这种情况。

正如t.C.in.所指出的,第

[ 注:例外规范中的等效替代为 仅在实例化noexcept说明符时执行,在 点如果替换导致 无效的类型或表达式- 尾注 ]


@谢谢,你应该回答这个问题