2012-07-19 6 views
0

는 다음과 같은 시나리오에 대한 구문의 관점에서 다음에 뭔가 문제가 있습니까 :포인터 참조 수준의 할당

내가 Foo 클래스와 클래스 FOO1 내 클래스 푸 유형의 FOO1의 개인 회원을 보유하고있는 경우 :

.H 파일 :

class Foo{ 
    Foo1 *oFoo; 
public: 
    Foo(Foo1 &Fooy); 
} 

.CC 파일 :

Foo::Foo(Foo1 &Fooy){ 
    oFoo = &Fooy; 
} 

인 위 생성자의 법적 할당? 나는 C++을 처음 사용하기 때문에 가능한 빨리 할 수있는 어떤 방법 으로든 도와주세요.

감사합니다 !! MyName.

답변

1

oFoo 대신 Foo,해야하며 멤버는 초기화 목록에 초기화 할 필요가

Foo::Foo(Foo1 &Fooy): oFoo(&Fooy) { 
} 

이 그렇지 않으면 괜찮아요. 원하지 않는 암시 적 캐스트를 방지하려면 생성자 explicit을 만드는 것이 좋습니다.

+0

실수를 발견했습니다. 내가 게시 한 질문의 코드에 없었지만 감사합니다! – anpatel