gpt4 book ai didi

c++ - msvc std::function 不接受带有嵌套 lambda 的通用 lambda

转载 作者:行者123 更新时间:2023-11-28 00:08:22 27 4
gpt4 key购买 nike

以下适用于 gcc 5.2 和 clang 3.7,但不适用于 msvc 2015:

#include <functional>

int main()
{
auto const foo = [](auto&& i) {
auto const bar = []{ return 100; };
return bar();
};

std::function<int(int)> fn = foo;
return 0;
}

是msvc的bug还是gcc和clang太松了?

最佳答案

如果我尝试使用 Microsoft's official online compiler ,版本 19.00.23602.0(x86) 最后更新于 2015 年 12 月 3 日,我得到执行超时1。删除 std::function<int(int)> fn = foo;将允许编译成功。欢迎通过 Visual Studio Connect 告知 Microsoft这样他们就可以调查错误并报告它。是的,人们可能会浪费时间翻阅标准以查看这是否是“合法”代码,但使用错误跟踪器会让您物有所值。

1 内部编译器错误始终是错误。

关于c++ - msvc std::function 不接受带有嵌套 lambda 的通用 lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34248067/

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