gpt4 book ai didi

C++11 声明 `::T i` ?

转载 作者:可可西里 更新时间:2023-11-01 15:52:07 25 4
gpt4 key购买 nike

下面的 C++11 翻译单元格式正确吗?

typedef int T;
::T i;

如果是这样,它似乎不符合标准语法。

simple-type-specifier 应该匹配 ::T,但语法是:

simple-type-specifier:
nested-name-specifier_opt type-name

nested-name-specifier 不能单独匹配 ::,所以 simple-type-specifier 不能匹配 ::T.

这是标准缺陷吗?

最佳答案

这是规范缺陷。它已在最新草案中修复,N3691 (PDF),其中 nested-name-specifier 是:

nested-name-specifier:
::
type-name ::
namespace-name ::
decltype-specifier ::
nested-name-specifier identifier ::
nested-name-specifier templateopt simple-template-id ::

(在 C++11 中,第一个产生式 nested-name-specifier -> :: 缺失。)

关于C++11 声明 `::T i` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18237947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com