以下是我要做的事情:
void x(function int(int) f){
f(555);
}
void main(){
x(function int(int q){ });
}
错误消息令人困惑:
funcs.d(4): Error: basic type expected, not function
funcs.d(4): Error: found 'int' when expecting '('
funcs.d(4): Error: basic type expected, not (
funcs.d(4): Error: function declaration without return type. (Note that constructors are always named 'this')
funcs.d(4): Error: found 'f' when expecting ')'
我无法从这些错误消息中获得任何信息。
答案 0 :(得分:2)
使用function
中的x
关键字切换返回类型。出于某种原因,他们是文字的另一种方式。此外,您传递的功能即使应该
void x(int function(int) f){
f(555);
}
void main(){
x((int q){ return 0; });
// or
x(function int(int q){ return 0; });
// or
x(q => 0);
}