是无符号的int"简单类型说明符"

Is unsigned int a `simple-type-specifier`

本文关键字:quot 类型 说明符 简单 无符号 int      更新时间:2023-10-16

我问这个问题的原因是,尽管表 11 的标题是简单类型说明符及其指定的类型,但语法生成简单类型说明符没有提到这种类型组合,作为简单类型说明符那么unsigned int是一个简单的类型说明符吗?

编辑我认为上述问题的答案不正确。如果这是真的,就不能说声明void* operator new(std::size_t);是[dcl.dcl]/1中定义的声明,因为size_ttypedef(在我的系统中)定义为unsigned int。为了证明这个断言,即void* operator new(std::size_t);是一个声明,我几乎可以肯定我们需要这样一个事实,即unsigned int是一个简单的类型说明符我错了。说void* operator new(std::size_t);是一个声明是没有问题的,如果我们使用 [dcl.type.simple]/1 中给出的类型名称定义。我认为我第一次是对的,除了错误的例子。也就是说,我认为unsigned int必须是一个简单的类型说明符,否则就不能说void f(unsigned int);是一个声明

.

不,unsigned int不是一个简单的类型说明符。 如果您阅读上一段,您有

表 11 总结了简单类型说明符及其指定的类型的有效组合

强调我的

因此,虽然unsignedint在第 1 段中都作为简单类型说明符列出,但两者的组合不是,但它是有效的类型。