在异常规范是类型系统的一部分后,我们仍然无法在模板函数中推导出除外(B)?

时间:2016-10-31 02:27:26

标签: c++ clang c++17

我尝试了wandbox中的代码:

template<bool B>
void Func(void(*)() noexcept(B)) {}

int main()
{
    Func(+[]() noexcept {});
}

编译错误:

prog.cc:7:5: error: no matching function for call to 'Func'
    Func(+[]() noexcept {});
    ^~~~
prog.cc:3:6: note: candidate template ignored: couldn't infer template argument 'B'
void Func(void(*)() noexcept(B)) {}
1 error generated.
     ^

为什么不能推断出?

0 个答案:

没有答案