Lambda表达式(C ++ 0x)无法在C ++ / CLI中运行?

时间:2015-06-25 11:40:53

标签: visual-c++ lambda c++-cli friend managed-c++

如果我写这个

std::function<int()> myFunction = []() {return 42;};
在VS2010下的C ++ / CLI中

(在MSTest单元测试类中,如果重要),我得到编译器错误C3809:a managed type cannot have any friend functions/classes/interfaces

lambda被认为是朋友,因为它可以访问局部变量,即使它没有?

另一方面,这很好用:

int ThatOldJokeAgain()
{
    return 42;
}
[...]
std::function<int()> myFunction2 = ThatOldJokeAgain;

有没有办法让lambdas在C ++ / CLI中运行?或者我的错误是完全不同的?

0 个答案:

没有答案