Cevelop 消息 "add argument(s) '?' to match 'not_severe_error(?)'" 的含义?

Meaning of Cevelop message "add argument(s) '?' to match 'not_severe_error(?)'"?

我已将此添加到功能代码中:

auto not_severe_error(int a_code){return (a_code>=0);}

并更改:

if(rc>=0)

至:

if(not_severe_error())

什么意思:

Add argument(s) '?' to match 'not_severe_error(?)'

not_severe_error 需要一个参数。你可能想写:

if(not_severe_error(rc))

我认为这与auto as return 类型有关。当将其更改为 bool 时,消息消失。可能是 Cevelop 类型系统的错误。

@Obenland 是正确的。在当前版本(1.7.1)中,Cevelop 还不支持 return 类型的推导。

由于我们构建于 CDT 之上,并且 CDT 在其当前里程碑中添加了 return 类型的推导,因此它很可能包含在下一个版本中(1.8) 的 Cevelop。我目前无法为您提供 1.8 版本的准确时间表,但据我所知,它将在今年晚些时候发布(在 Eclipse Oxygen 和 CDT 9.3 发布后 - 计划于 6 月 28 日发布)。

建议签名中的问号是Cevelop无法完全解析的结果not_severe_error()。有点简化,符号索引看到 "overload" 采用 int,但由于当前函数 returning auto 具有 "incomplete type",因此无法确定是否存在其他重载。