A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 赵贺景 于 2014-4-28 18:34 编辑

     public  static string getmapstring(int pos)
        {
            string result = "";
            if (playerpose[0] == pos && playerpose[1] == pos)
            {
                result = "<>";//AB同在一格
            }
            else if (playerpose[0] == pos)
            {
                result = "A";//A在当前格
            }
            else if (playerpose[1] == pos)
            {
                result = "B";//A在当前格
            }
            else
            {
                switch (map[pos])
                {
                    case 0:
                        result = "□";
                        break;
                    case 1:
                        result = "◎";
                        break;
                    case 2:
                        result = "※";
                        break;
                    case 3:
                        result = "▲";
                        break;
                    case 4:
                        result = "◆";
                        break;
                }
                return result;
            }
        }

错误        1        “飞行棋.Program.getmapstring(int)”: 并非所有的代码路径都返回值        E:\unity\ConsoleApplication1\飞行棋\Program.cs        108        29        飞行棋
这是 是不是有漏掉的没有定义的地方啊

评分

参与人数 1技术分 +1 收起 理由
张旭辉 + 1

查看全部评分

8 个回复

倒序浏览
看看传参了没???public  static string getmapstring(int pos)这里,你定义的是有个int类型的参数,当你调用的时候是否往里面传参了???
回复 使用道具 举报
目测是result的问题,你只return了else部分的result,if里面那些都没有返回。
把return result 再移一个括号外就行了
回复 使用道具 举报
本帖最后由 鲤鱼 于 2014-4-28 00:34 编辑
Mekor 发表于 2014-4-27 23:56
看看传参了没???public  static string getmapstring(int pos)这里,你定义的是有个int类型的参数,当你 ...

{:3_68:}提示的是并非所有的代码路径都返回值,觉得还是应该跟return有关。你说的情况报错的话应该是这个

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
是的 你的return只是返回了else条件里的 result
而没有返回if条件里的result 把你的return移到
外面一层的括号即可

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
return 放错地方了,放在if....else...外面去,你把switch中最好加一个default

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
return result;  这里没有返回值会有红色波浪线的啊。。
有红色波浪线就代表语法错误

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
懂了,还是对基础知识不太熟练啊
回复 使用道具 举报
最后没有返回参数,你只定义了if else里面的返回参数了,但是整个类没有返回指定的参数
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马