c#主类sum = S.F(n);时显示无法将类型void隐式转换成int,这是啥意思啊我蒙了都

namespace studentGrade
{
    public class S
    {
        public static void F(int m)
        {
            int i , j , y ;
            int x = 0;

            for (i = 1; i < m; i = 2 * i + 1)
            {
                for (j = 1; j <=i; j++)
                {
                    if(i==1)
                        {x = 1;break; }
                    y = j+1;
                    x = x+y * j;
                }
            }
            if (m >= 12 || m < 0)
            {
                Console.WriteLine("输入的n值不符!!!");
            }
            else
            {
                Console.WriteLine("1!+3!+5!+……+n!的和为:{0}", x);
            }
            


        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            int  sum=0;
            int n;
            string N;
            Console.Write("请输入n值:");
            N = Console.ReadLine();
            n = Convert.ToInt32(N);
            sum = S.F(n);
            


        }
    }

 

你把这条语句 public static void F(int m) 改为 public static int F(int m) 在F函数的最后加上return x; 就正常了

你的函数是void, 表示无返回值, sum = S.F(n);这条语句是错误的,无法返回结果