int plugin::feature(const InstanceInput &input) {
auto parse_word=[](const string input_text){
string text = input_text;
int i=text.find("%");
if(i!=-1){
return text.substr(0, i);
}
return "";
};
....
}
我在Clion,它在"return"语句中显示一条错误消息,上面写着:
return type const char* must match previous return type std:basic_string<char> when lambda expression has unspecified specific return type
如何解决此问题?
代替:
if(i!=-1){
return text.substr(0, i);
}
return "";
尝试
if(i!=-1){
return text.substr(0, i);
}
return std::string();
在第一种情况下,您的λ的auto
返回类型被确定为string
,在第二种情况下被确定为char*
,这是不匹配的。