大家好,我正在学习 dart 的过程中。
我最初的职责是
void _answerQuestion() {
setState(() {
_questionIndex++;
});
}
然后像这样调用它,这一切都很好
body: (_questionIndex < _questions.length)
? Quiz(
answerQuestion: _answerQuestion,
questionIndex: _questionIndex,
questions: _questions,
)
: Result(),
)
但是我把它改成了这个
void _answerQuestion(int score) {
_totalScore += score;
setState(() {
_questionIndex++;
});
}
当我试图指向它时,它现在有一个问题。我现在在代码中有其他问题,但我认为这是根本问题。错误是
The argument type 'void Function(int)' can't be assigned to the parameter type 'void Function()'.dartargument_type_not_assignable
有没有人得到任何线索?我正在使用下面的 dart 版本sdk:'〉=2.18.5〈3.0.0'
谢谢
1条答案
按热度按时间ovfsdjhp1#
现在,
Quiz
构造函数中的answerQuestion
参数需要为void Function(int)
类型,因为您希望传递一个int。下一个错误将在您 * 调用 * 该函数时弹出,在那里您需要为
score
传递任何您想要的内容。