我们有无法用C ++编写
的原因class MyClass
{
public:
void MyClass::MyMethod(); // <----
}
它给出了“额外的资格”或一些这样的编译错误,但是有没有理由或者它刚刚发生了?
答案 0 :(得分:6)
因为这是声明的语法;他们声明不合格的名称在声明范围内具有特定含义。
如果允许范围限定,它将始终是冗余的(指定当前范围)或错误的(因为您不能在另一个范围内声明某些内容)。
答案 1 :(得分:4)
原因是它是非法的语法。此外,为什么还需要添加多余的额外资格?
成员函数在类定义的上下文中声明,显式地将其限定为该类的成员函数是不必要的 - 并且它会影响可读性。