1

以下是c中的代码。

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

输出:错误不能有静态参数
那么为什么我们不能在函数中使用静态参数呢?

4

2 回答 2

12

static 关键字意味着一个变量在其范围内可能只有一个实例,并且该实例在其范围之外是不可见的。这些要求对函数参数都没有意义:它可能会在不同的内存地址被多次调用,并且由于它是用于通信的,因此它必须对外部世界可见。

于 2012-08-04T21:03:46.903 回答
8

尝试应用于static参数没有多大意义,因此标准不允许这样做(第 6.7.5.3/2 节:“参数声明中应出现的唯一存储类说明符是register.”)

于 2012-08-04T21:02:33.753 回答