3

ANSI C 标准第 6.3.2.2 节的约束部分包括以下短语:

每个参数都应具有一个类型,以便可以将其值分配给具有其相应参数类型的非限定版本的对象。


那么,“类型的不合格版本”一词是什么意思?

4

2 回答 2

4

C99 草案包含以下语言,关于“合格”一词的使用:

到目前为止提到的任何类型都是非限定类型。每个非限定类型都有其类型的几个限定版本,对应于 , 和 限定符中的一个、两个或所有三个constvolatile组合restrict

类型的合格或不合格版本是属于同一类型类别并具有相同表示和对齐要求的不同类型。

因此,您的报价说具有 a 的参数const int必须与 type 的值匹配int,依此类推。

于 2013-10-21T10:21:58.000 回答
3

无需费心检查规范,我会大胆猜测它与例如constvolatile关键字有关。

例如,如果你有一个 type 的参数const int,你应该能够将它分配给一个 type 的变量int(没有const限定符)。

于 2013-10-21T10:19:43.360 回答