检测bug:

  1. 在第6行代码中,obj 后应该加上'->',即应该写成'obj->query("equipped")',否则会出现'未定义的函数'错误。

  2. 在第9行代码中,应该将'me.obj->name()'改为'obj->name()',否则会出现'未定义的变量'错误。

优化bug:

  1. 在第3行代码中,应该添加'if(!obj) return 0;'来检测obj是否为空,否则会出现'未定义的变量'错误。

  2. 在第6和9行代码中,应该添加'break;'来结束switch语句,否则会继续执行下面的代码。

  3. 在第4和7行代码中,应该将'obj->name()'改为'obj->query("name")',这样可以获取到正确的装备名称。

编写代码:

if(!wizardp(me)){
    if(!obj){
        return 0;
    }
    switch (obj->query("equipped")){
        case "worn":
            tell_object(me, obj->query("name") + "必须脱下才可以丢掉。\n");
            break;
        case "wielded":
            tell_object(me, obj->query("name") + "必须解除才能丢掉。\n");
            break;
    }
}
C++ 代码错误修复与优化:检测、调试和编写

原文地址: https://www.cveoy.top/t/topic/m1cu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录