当我这样声明一个朋友时,g ++编译器会抱怨这个错误:
friend MyClass;
代替
friend class MyClass;
为什么需要class关键字?(Borland C++ 编译器 BTW 不需要它。)
编译器不能简单地在符号表中查找 MyClass 并告诉它被声明为一个类吗?(显然它无论如何都在进行查找,因为它在未声明 MyClass 时会抱怨)
这不像是对类进行前向声明:我仍然必须在上面声明类或至少前向声明它。
如果这对我来说很有意义(实际上会很棒)
friend class MyClass;
如果需要,可以进行前向声明,否则对我来说就像是语法盐。
近 20 年来,我一直在愉快地使用没有class或struct关键字且没有编译器投诉的朋友语句。这是相当新的东西吗?