在c#中从main内部调用方法

时间:2013-12-23 22:17:30

标签: c# n-queens

我在C ++中练习过。它是8-Queens的解决方案,可输出所有92种可能的解决方案。

C++ code example: What makes this loop so many times?

然后我用C#编写了它。在这里,但我最后有一个错误。

                int[,] state = new int[8, 8];
                solve_state(state, 0); // Error: an object reference is required for non-//static field,method
            }
        }
    }
}

2 个答案:

答案 0 :(得分:3)

尝试将solve_state方法声明为静态。

       // ↓
private static void solve_state(int[,] state, int count)
{
    // method implementation here
}

答案 1 :(得分:3)

看起来您将solve_state声明为实例(即非静态)方法。但是,如果不引用父类的实例,则无法调用实例方法。相反,将solve_state方法设为静态,如下所示:

public class Program
{
    public static void Main(string[] args)
    {
        ...
        int[,] state = new int[8, 8];
        solve_state(state, 0); 
        ...
    }

    private static void solve_state(int[,] state, int x)
    {
        ...
    }
}

进一步阅读