如果我使用String作为类型,则此代码有效,但如果使用类,则无效。
呼叫代码:
Future<Card> getCard() {
return Future.value(currPack.getCard());
}
这是getCard方法:
Future<Card> getCard() async {
return Card("a", "b");
}
这是Card类:
class Card {
String question = "";
String answer = "";
Card(String question, String answer) {
this.question = question;
this.answer = answer;
}
}
当我使用Card类时,会收到一条警告消息:
不能将参数类型'Future
'分配给参数类型'FutureOr '
如果我将返回类型从Card更改为String,并将方法设置为返回字符串,则效果很好。
答案 0 :(得分:0)
结果证明,材料设计中有一类叫做Card:'package:flutter / src / material / card.dart'。
代码的第一位是导入material.dart(导入'package:flutter / material.dart')的屏幕的一部分。
其他代码来自一个独立的类,该类不导入material.dart,但确实引用了本地卡类(导入'package:flashcards / modules / Card.dart';)。
因此,可以总结一下:该错误是由于引用了两个具有相同名称的类而不区分两者而引起的。