如何解决eclipse CDT显示lambda表达式无效的参数'Candidates are:...'
面向C / C ++开发人员的Eclipse IDE(包括孵化组件)
版本:2020-06(4.16.0)
版本号:20200615-1200
C / C ++开发工具
版本:9.11.1.202006011430
内部版本号:20200601-1605
带有gcc 10.2.0的Arch Linux
给出以下最小示例
#include <cstdint>
#include <functional>
struct LinkedElement {
uint8_t index = 0;
LinkedElement* next = nullptr;
};
static LinkedElement* linkedList;
LinkedElement* FindLinkedElement(std::function<bool(LinkedElement*)> filter)
{
for (auto elem = linkedList; elem != nullptr; elem = elem->next)
{
if (filter(elem))
{
return elem;
}
}
return nullptr;
}
int main(int argc,char **argv) {
auto broken = FindLinkedElement([](LinkedElement* le){ return le->index > 0; });
auto works = FindLinkedElement(nullptr);
}
eclipse将FindLinkedElement
中的第一个main()
下划线为“语义错误”(由“问题”视图确定),并显示以下错误消息
Invalid arguments '
Candidates are:
LinkedElement * FindLinkedElement(std::function<bool (LinkedElement *)>)
'
第二行未标记为错误。编译器完全可以使用所有这些代码。我该如何使月食不将其视为错误?
解决方法
问题似乎出在out_ctr = 1
DO while out_ctr < 101
/* validations */
IF valid THEN
say st_digit " is valid"
ELSE
say st_digit " is invalid"
st_digit = st_digit + 1
out_ctr = out_ctr + 1
END
10.2.0。现在运行arm-none-eabi-gcc
后,我看不到日食中的其他错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。