这是VC11编译错误吗?

时间:2013-01-04 12:56:31

标签: c++ lambda visual-studio-2012 visual-c++

我正在使用vs2012(vc11)编写c ++程序。当我试图使用一点复杂的lambda表达式。

    RasDial(NULL, NULL, 0, 0, &[=]()
    {
    RasDial(NULL, NULL, 0, 0, &[=](){}, 0);
    }, 0);

然后编译给了我一个错误:C2101&不断。我改变了地方,然后是这样的代码:

RasDial(NULL, NULL, 0, 0, &[=](){
    auto func = [=](){};
    RasDial(NULL, NULL, 0, 0,&func, 0);
}, 0);

通过比较,您可以成功编译以下表达式:

RasDial(NULL,NULL,0,0,&[](){},0);

我推断VC编译无法理解嵌套的lambda与&好。

然后vc11可以成功编译它。 这是否意味着它是一个vc11编译错误?

0 个答案:

没有答案