当前位置: 首页 > 面试题库 >

什么是形式参数?

夏新翰
2023-03-14
问题内容

使用C ++进行编译时,我经常会遇到处理“形式参数”的错误消息,例如

error C2719: 'b': formal parameter with __declspec(align('16')) won't be aligned

我确实了解该错误,也了解b我所定义的函数的参数这一事实。

但是,参数是形式的意味着什么?是否可以有非正式参数?

我确实注意到“形式参数”一词也出现在其他语言中,所以我认为它是一个更通用的术语,不一定特定于C语言家族?某些语言子集支持非正式参数吗?

在看到答案之后,最后一个问题是:那些形式参数和实际参数来自何处?它起源于C标准,还是在某种抽象语言演算中这样调用它的效果?


问题答案:

有正式参数和实际参数:

void foo(int arg); //arg is a formal parameter

int main()
{
    int val = 1;
    foo(val);  //val is an actual parameter
}

从C ++ Standard开始:

1.3.1形式参数(参数)

作为函数声明或定义的一部分或在异常处理程序的catch子句中声明的对象或引用,在进入函数或处理程序时获取值;在以逗号分隔的列表中的标识符,该标识符以类似函数的宏定义形式紧跟在宏名称之后的括号内;或模板参数。参数也称为形式参数或形式参数。

1.3.10实际参数(参数)

在函数调用表达式中以括号分隔的逗号分隔列表中的表达式,在函数式宏调用,throw操作数或表达式中以逗号分隔的逗号分隔列表中的预处理标记序列,模板实例化中以尖括号为边界的逗号分隔列表中的type-id或template-name。也称为实际参数或实际参数。



 类似资料:
  • 问题内容: 我目前正在处理Java旧版代码,遇到一个表示形式参数的类,但我不知道为什么。我读到有关C++形式参数的信息,但它使我感到困惑,因为在C ++中它与参数相同(对此确认有疑问),而在我的旧代码中,它是一个类,只有一个私有int成员存储一个数字(及其set和get方法),但老实说,我没有找到 该 声明 的原因 。 问题答案: 在Java和C ++中,形式参数是在方法签名中指定的: 有一个单一

  • 问题内容: 什么是命令的shell形式和exec形式? 我仔细阅读了几份文档,以明确了解shell形式和exec形式。但是所有人都对我感到困惑。任何人都可以帮助找出这两种形式之间的区别吗? PS :尽管我在查阅docker文件Instructions()时遇到了这些术语,但我想总体上了解它们之间的区别,而不是在Docker上下文中。 问题答案: 泊坞窗shell语法(这仅仅是一个字符串作为,和)将

  • 使用指南 - 统计设置 - 第三方推广管理 - 什么是URL参数? 我们经常可以看到URL后面带有?Par1=xxx&Par2=xxx的类似样式,其中Par1、Par2即为该URL的参数。“?”是参数与URL的链接符,“&”是参数与参数之间的链接符。利用这种方式,我们便可以通过URL来传递信息。 以百度统计中的”指定广告跟踪”功能为例,就是利用在URL中添加指定的参数,实现区分推广页面中的广告信息

  • 问题内容: 当提交HTML表单而不指定方法时,默认的HTTP方法是什么?GET还是POST? 在HTML标准之间这种行为是否发生过变化? 请尽可能引用W3C标准文档。 问题答案: 是GET。 看一下W3C取代的建议书17.3FORM元素。 摘抄: 好读 HTML表单中的GET和POST方法-有什么区别?

  • 问题内容: 我使用的是Android Studio,我这样写: 我收到此消息: 显式类型参数Button应该替换为<> 我很好奇,为什么用钻石代替会更好呢? 编辑: 我完全不同意重复!我之前看到了这个答案,并且将显式参数与没有参数进行比较,而将显式参数与隐式参数进行了比较! 问题答案: 它不太冗长,请考虑以下内容 与 我想你会选择第二种选择

  • 我正在用一个简单的游戏尝试python,但是遇到了这个错误 代码如下所示: 然后错误显示: 文件“my_code/alien_invision/bullet.py”,第15行,在init self中。rect=pygame。Rect(左=0,上=0,宽=self.settings.bullet\u width, 类型错误:参数必须是Rect样式的对象 如果我按以下方式更改该行,它将正常工作: 我不