1

以下はcのコードです。

     fact(2);
     void fact(static int i)
     {..}

Output:Error は静的引数
を持つことはできません では、なぜ関数に静的引数を持たせないのでしょうか?

4

2 に答える 2

12

static キーワードは、変数がスコープ内にインスタンスを 1 つだけ持つことができ、そのインスタンスがスコープ外では見えないことを意味します。これらの要件はどちらも、関数の引数には意味がありません。異なるメモリ アドレスで複数回呼び出される可能性があり、通信用であるため、外部から見える必要があります。

于 2012-08-04T21:03:46.903 に答える
8

引数に適用しようとしてもstaticあまり意味がないため、標準では許可されていません (§6.7.5.3/2: 「パラメーター宣言で発生する唯一のストレージ クラス指定子はregister.」)。

于 2012-08-04T21:02:33.753 に答える