내 컴파일러 (아래 그림 참조) 다른 클래스의 private 멤버로 물체의 내 선언은 나에게이 오류 제공 불평하는 클래스의 private 멤버로 파생 된 개체를 선언 할 때 :컴파일 오류
private:
ForwardStrategy::ForwardStrategy* forwardStrategy; ForwardToStrategy::ForwardToStrategy* forwardToStrategy;
을 /home/ics45c/projects/p4/src/Person.hpp:45:19 : 오류 : 'ForwardStrategy'에 대한 정규화 된 참조가 생성자가되었습니다. ForwardStrategy :: ForwardStrategy * forwardStrategy; 생성자가 선언 된 형식이 아닌 형식입니다. ^ /home/ics45c/projects/p4/src/Person.hpp:47:21 : 오류 : 'ForwardToStrategy'에 규정 된 참조는 생성자 이름이 아닌 생성자가 ForwardToStrategy를 선언 할 수있는 곳 유형입니다 :: ForwardToStrategy * forwardToStrategy; ^
2 개의 오류가 생성되었습니다. ... ... 끔찍한 형식에 대한
죄송 컴파일러는 내가 생성자가 아닌 유형 말하는 겁니다 생각처럼
그래서 그것은 보이는,하지만 난 문제를 해결하는 방법을 잘 모르겠어요 I 이 작업을 올바르게 수행하는 방법을 잘 모르겠지만 미리 감사드립니다! 이 질문에 표기되는 방법은이 클래스의 인스턴스를 정의하지 않는 (생성자 함수 인) 멤버에 액세스하려고 의미하기 때문에
private:
ForwardStrategy* forwardStrategy;
ForwardToStrategy* forwardToStrategy;
:
'ForwardStrategy :: ForwardStrategy * forwardStrategy; '대신에'ForwardStrategy * forwardStrategy;'라고 써 넣으면 마지막으로 클래스 자체가 아닌 클래스의 멤버를 참조하기 때문에 –