我在 C++ 标准文档中读到了这个关于类的内容:
类是一种类型。它的名字在它的范围内变成了一个类名(9.1)。
class-name: identifier template-id
我在 C++ 标准中找到了这个标识符的语法:
2.10 Identifiers
identifier: nondigit
identifier nondigit
identifier digit
nondigit: one of universal-character-name
_ a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
digit: one of 0 1 2 3 4 5 6 7 8 9
现在我尝试这样做:
class
{
public:
int i;
};
它编译得很好,没有任何名字。
谁能给我一个解释?这不是违反为标识符指定的语法吗?
Nawaz 就我给出的代码的标准合规性提出了一个后续问题。有兴趣的可以看看这里。