以下是c。
中的代码 fact(2);
void fact(static int i)
{..}
输出:错误不能有静态参数
那么为什么我们不能在函数中使用静态参数呢?
答案 0 :(得分:11)
static关键字表示变量在其范围内可能只有一个实例,并且该实例在其范围之外是不可见的。这些要求对于函数参数都没有意义:它可以被多次调用,在不同的内存地址被调用,并且由于它用于通信,它必须对外部世界可见。
答案 1 :(得分:8)
尝试将static
应用于参数没有多大意义,因此标准不允许它(§6.7.5.3/ 2:“参数中唯一的存储类说明符声明是register
。“)