C++ 包含带有默认参数的函数调用的Qt lambda表达式上出现VS2010内部编译器错误?
VC++编译器在以下代码段上崩溃:C++ 包含带有默认参数的函数调用的Qt lambda表达式上出现VS2010内部编译器错误?,c++,visual-studio-2010,qt,lambda,default-parameters,C++,Visual Studio 2010,Qt,Lambda,Default Parameters,VC++编译器在以下代码段上崩溃: class MyClass : public QObject { public: void onFinished(std::function<void(const QMap<QString, QVariant> &args)> cb) ; // ... } MyClass *request; // ... request->onFinished([] (const QMap<QString, QV
class MyClass : public QObject {
public:
void onFinished(std::function<void(const QMap<QString, QVariant> &args)> cb) ;
// ...
}
MyClass *request;
// ...
request->onFinished([] (const QMap<QString, QVariant> &args) -> void {
QVariant c = args.value("valid");
});
当我通过第二个论点时
QVariant c = args.value("valid", QVariant());
这是工作!有什么想法吗?是否有针对此问题的VC++修补程序
环境:
Visual Studio 2010 10.0.40219.1 SP1Rel
Qt 5.1.1
你希望lambdas与VS 2010合作?根据VC10对lambdas 1.0版的支持,这是乐观的。
QVariant c = args.value("valid", QVariant());