形式参数存储在哪个内存节中?
我可以将存储类说明符应用于像auto、static这样的形参吗?
如果将存储类说明符应用于形参,Gcc编译器只给error.Other编译器允许,告诉我哪个概念好。
发布于 2014-02-27 22:53:15
您可以应用于函数参数的惟一存储类说明符是register
(以及auto
的旧含义)。在此上下文中,标准中的[dcl.stc]
部分明确禁止所有其他类型。
发布于 2014-02-27 22:52:03
不是的。我们不能将存储类指定为形参。考虑这个例子,
void display(static int a) //ERROR
{
cout<<a++;
}
main()
{
display(2);
display(1);
}
在这里,形参不能是静态的,因为静态变量声明一次,然后使用,所以在随后调用函数变量时,不能声明并获取值。我认为这是除了形式参数被分配到堆栈之外的一个原因。
https://stackoverflow.com/questions/22071848
复制相似问题