我刚刚开始使用Vala,我尝试制作一个简单的程序,询问两个输入:
在编译之前,我收到了这个错误:
test0.vala:8.5-8.16: error: Access to instance member `test0.test_exec' denied
test_exec(q);
^^^^^^^^^^^ //the entire statement
Compilation failed: 1 error(s), 0 warning(s)
非常简单的程序的pastebin位于here。
这是一个片段:
public static void main(string[] args)
{
stdout.printf("Greetings! How many cycles would you like? INPUT: ");
int q=0;
stdin.scanf("%d", out q);
test_exec(q);
}
public void test_exec(int q)
{
//method code here
}
你能告诉我该怎么做,以及一些提示吗?感谢。
答案 0 :(得分:1)
您将test_exec
定义为实例(非静态)方法。与静态方法不同,需要在给定类的实例上调用实例方法。但是,你试图在没有这样的实例的情况下调用它,从而得到一个错误。
所以你要么需要创建一个test0
类的实例并在其上调用test_exec
(尽管这不会有意义,因为test_exec
不依赖或改变任何状态对象 - 实际上test0
类没有任何状态)或者使test_exec
以及test_exec
静态调用的其他方法。