You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中按照教程编写带构造函数的类时报错,代码一致仍无法修复

报错原因及修复方案

你的代码报错主要来自两个问题:

  • 类名拼写错误:你定义的类名为Qeustion,正确拼写应为Question,如果调用侧用了正确拼写就会触发未找到类的报错。
  • 未适配Dart空安全:你参考的旧教程基于非空安全的Dart版本编写,Dart 2.12及以上版本默认启用空安全规则,非空类型的实例变量必须在构造函数执行完成前完成赋值,你当前的写法不符合空安全要求。

推荐修复写法(符合最新Dart规范,调用逻辑和旧教程兼容)

class Question {
  String questionText;
  String questionImage;
  bool questionAnswer;

  Question({
    required this.questionText,
    required this.questionImage,
    required this.questionAnswer,
  });
}

调用示例:

var sampleQuestion = Question(
  questionText: "这是测试题目",
  questionImage: "assets/test.png",
  questionAnswer: true,
);

保留原有参数命名的修复写法

如果你想保留原来的q/i/a参数名,可以用初始化列表的方式实现,符合空安全要求:

class Question {
  String questionText;
  String questionImage;
  bool questionAnswer;

  Question({required String q, required String i, required bool a}) : 
    questionText = q,
    questionImage = i,
    questionAnswer = a;
}

如果你的项目手动关闭了空安全,只需要修正类名拼写即可正常运行。

内容的提问来源于stack exchange,提问作者AhamdTübingen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 03:06:05