为什么在C ++中不允许额外的方法限定?

时间:2013-05-31 10:58:07

标签: c++

我们有无法用C ++编写

的原因
class MyClass
{
public:
    void MyClass::MyMethod();  // <----
}

它给出了“额外的资格”或一些这样的编译错误,但是有没有理由或者它刚刚发生了?

2 个答案:

答案 0 :(得分:6)

因为这是声明的语法;他们声明不合格的名称在声明范围内具有特定含义。

如果允许范围限定,它将始终是冗余的(指定当前范围)或错误的(因为您不能在另一个范围内声明某些内容)。

答案 1 :(得分:4)

原因是它是非法的语法。此外,为什么还需要添加多余的额外资格?

成员函数在类定义的上下文中声明,显式地将其限定为该类的成员函数是不必要的 - 并且它会影响可读性。