2013-06-11 2 views
-7

우리는 내부가있는 클래스 A를 내부 클래스 B 플러스 방법 C를,의 우리가 ... 올바른 구문 return type A::B() {...} 이제프록시 클래스와 올바른 구문의 C++

이 상상하는 클래스 A와 방법 B입니다있어 가정 해 봅시다 B 클래스 ([] [] 연산자로 인한 프록시 클래스)를 "반환 유형"으로 사용합니다. 어떻게해야합니까?

A::B A::B::C() {}

는 작동하지 둘 B A::B::C() {}

을 수행 플러스 나는 .cpp.h 파일에 그것을 가지고 싶습니다하지 않습니다.

+1

실제 오류 코드가 표시되면 알려주십시오. – Naveen

+7

"하지만 불행히도 나는이 문제를 처리 할 시간이 없다"- erm 무엇? –

+0

학교 프로젝트이며 마감 시간이 다가 왔습니다. 나는 이것을 어떤 종류의 무례한 방법으로 넣으면 유감입니다. –

답변

1

operator[]의 잘못된 범위를 말하는 것 같습니다. 아마도 당신은 다음을 의미했습니다 :

CScreen::Proxy CScreen::operator[] (int index) const 
{ 
    return Proxy (m_playground, index, m_y); 
} 
+0

이 프로젝트는 나를 괴롭 히기 시작했다. 고맙습니다. 나는 이것을 어떻게 놓칠 수 있는지 이해할 수 없다. –

+1

프로젝트 요구 사항이 아니라면'operator()'를 사용하는 대신'x, y' 매개 변수 2 개를 사용할 수 있습니다. 이 방법을 사용하면 프록시 클래스를 모두 피할 수 있습니다. 그것은 사물을 단순화하는 데 도움이 될 수 있습니다. – greatwolf