![](/img/trans.png)
[英]Why can't char** be the return type of the following function in C++?
[英]Why can't dynamically-typed function in Flutter return the correct type?
我有这个功能:
U on<T, U> (T value, T defaultValue, U Function (T value) builder) => builder(value ?? defaultValue);
如果我像这样使用它:
var a = "Hello";
var b = "World";
final result = on(a, b, (value) => Text(value))
在构建器回调参数中,值类型始终是动态的。 为什么它不能与参数 a 和 b 具有相同的类型?
Dart 目前不支持参数列表中的推理。 但是正在跟踪此问题#731 。
现在你需要明确输入:
final result = on(a, b, (String value) => Text(value))
这至少强制了a
b
和builder
共享相同的类型。
随着即将到来的implicit-dynamic
分析器规则,像这样的事情将更容易被发现,并且增加的维护开销有望让 dart 语言维护者重新考虑推理问题的优先级。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.