gpt4 book ai didi

c++ - 为什么 `is_constructible, int(*)(int,int)>::value`在VC2015RC下为true

转载 作者:行者123 更新时间:2023-11-30 01:48:24 28 4
gpt4 key购买 nike

#include <functional>
using namespace std;

int main()
{
static_assert(is_constructible<function<int(int)>, int(*)(int,int)>::value, "error");
}

代码未使用 GCC 和 Clang 编译,但使用 Visual C++ 2015 RC 通过。

这是符合标准的行为还是只是一个错误?

最佳答案

std::function的构造函数过去接受阳光下的一切(它是一个 template<class F> function(F f) )。

然后它在标准中受到约束(通过 LWG issue 2132 ),但实现该约束需要表达式 SFINAE,即 Microsoft's compiler doesn't yet support .

关于c++ - 为什么 `is_constructible<function<int(int)>, int(*)(int,int)>::value`在VC2015RC下为true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30498829/

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