1

私は Vala を使い始めたばかりで、2 つの入力を要求する簡単なプログラムを作成しようとしました。

  1. 循環度を指定する int。と
  2. 反復プロセスまたは再帰プロセスの I / R を含む char。

コンパイルする直前に、次のエラーが発生しました。

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)

非常に単純なプログラムのペーストビンは、ここにあります

ここにスニペットがあります:

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
}

どうすればいいのか、コツなど教えていただけないでしょうか。ありがとう。

4

1 に答える 1

2

test_execインスタンス (非静的) メソッドとして定義しました。静的メソッドとは異なり、インスタンス メソッドは、指定されたクラスのインスタンスで呼び出す必要があります。ただし、そのようなインスタンスなしで呼び出そうとしているため、エラーが発生します。

test0したがって、クラスのインスタンスを作成してtest_execそれを呼び出す必要があります(ただし、オブジェクトの状態に依存したり変更したりしないため、ほとんど意味がtest_execありません-実際のところ、test0クラスには状態がありません)またはstatictest_execによって呼び出される他のメソッドと同様に。test_exec

于 2011-03-25T16:06:32.260 に答える