2013-05-31 2 views
0

는 우리가 쓸 수없는 이유가 있나요 C++ C++에서 추가 메서드 자격이 허용되지 않는 이유는 무엇입니까?

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

는 '별도의 자격'또는 일부 같은 컴파일 오류를 제공하지만, 거기에 그 이유 또는 그냥 그렇게 일어난

?

+1

왜 그렇게 할 수 있습니까? – JBL

+4

이것이 언어 정의 방법입니다. 왜 그걸하고 싶니? –

+0

당신의 의도는 무엇입니까? – Subhajit

답변

6

선언문 구문 때문입니다. 그들은 규정되지 않은 이름이 선언의 범위 내에서 특별한 의미를 가짐을 선언합니다.

범위 자격이 허용 된 경우 중복 (현재 범위 지정) 또는 잘못된 (다른 범위에서 무언가를 선언 할 수 없기 때문에) 항상 존재합니다.

4

이유는 잘못된 구문입니다. 게다가 여분의 자격을 추가해야하는 이유는 무엇입니까?

멤버 함수가 클래스 정의의 컨텍스트에서 선언되고 있으며, 명시 적으로 해당 클래스의 멤버 함수로 한정되어 있으므로 가독성이 떨어집니다.

관련 문제