我运行下面的代码,我得到一个没有任何堆栈跟踪的错误。
我的代码:
typedef Check<T>(T value, [onError(T value)]);
main () {
List<Check> checks = [
(str) => str != null,
(str) => !str.isEmpty
];
Check<String> doCheck = (String value, [onError(String)]) {
checks.forEach((Check check) {
if (?onError) {
check(value, onError);
} else {
check(value);
}
});
};
doCheck("10");
}
而且,我得到的错误。
file:///..()../sample.dart': Error: line 11 pos 12: formal parameter name expected
if (?onError) {
我想获取onError
作为doCheck
函数中的可选参数,并将此参数传递给checks
.
我确认将可选参数转发给“一个”函数......
这是对可选参数的限制之一吗?