错误:需要lambda表达式的正文.(什么是Lambda???)
Error : expected body of lambda expression .. (what is Lambda ???)
开始学习CS106B,错误消息告诉我这3行有问题。
"错误:需要lambda表达式的正文"
字符串密钥=aToken.substr([i],1);
myMap.put(aToken.substr([i],1),1);
else{myMap[aToken.substr([i],1)]+=1};
int main() {
TokenScanner myTK;
myTK.setInput("Sven is Pro Moo Noob <naja>");
myTK.ignoreWhitespace();
Map <string ,int> myMap;
while(myTK.hasMoreTokens()){
string aToken = myTK.nextToken();
for(int i=0;i<= int(aToken.size());i++){
string key = aToken.substr([i],1);
if(!myMap.containsKey(key)){
myMap.put(aToken.substr([i],1),1);
}
else {myMap[aToken.substr([i],1)] +=1};
}
cout << aToken << endl;
}
cout<< myMap.toString() << endl;
return 0;
};
[capture list](parameters) {function body}
当编译器注意到您的[i]
时,它希望它是lambda表达式的开头。在您的情况下,没有理由将数字括在方括号中。
Lambda表达式允许使用匿名类内联构造函子对象。请参阅:什么是C++11中的lambda表达式?
相关文章:
- 这 4 个 lambda 表达式之间有什么区别?
- 我可以在这里替换什么,因为我不能在 C# 中使用隐式变量的 lambda 函数?
- C++:Lambda 函数指针转换的用例是什么?
- Visual C++: MSVC vs. GCC+CLANG: 处理 lambda 捕获类成员变量,正确的方法是什么?
- 引用捕获和在 lambda 中通过引用发送参数有什么区别 (C++)
- 传递 lambda 函数的权衡是什么?
- &&对lambda表达式有什么好处?
- 这个size_t在 lambda 中有什么作用?C++代码
- 关于函数模板中定义的 lambda 闭包类型可以说些什么?
- 这个 lambda 的目的是什么?
- C++ : 在 lambda 表达式中捕获的目的是什么?
- lambda 的默认捕获是什么?
- 将函数的引用和 lambda 表达式作为参数传递时有什么区别?
- 这个函数和 lambda 有什么区别?
- 将 lambda 作为模板参数传递:实际推导出什么类型
- 包含通过引用捕获的 lambda 函数的"variable"的类型是什么?
- 我在 Lambda 上做错了什么
- 如果我在lambda中删除容纳lambda的对象,那会发生什么
- 这个 lambda 的参数是什么类型?
- 内联和constexpr在标头中无捕获lambda有什么区别