2016-06-04 4 views
-4

enter image description here오류 : 비 정적 데이터 멤버

이의 사용은 나에게 문제를 일으키는 내 class.h 파일의 코드입니다. 어떤 이유로 내 펑합니다 (펑터의 마스터의 각 사용 1)이 오류의 나에게 10 수를 제공하여 마스터 벡터를 액세스 할 수 없습니다

enter image description here

이 어떤 도움이 멋진 것, 나는 어떤이 없습니다 이 문제를 해결하는 방법.

+4

실제 코드를 삽입하는 것보다 스크린 샷을 업로드하는 것이 더 좋은 이유가 궁금합니다. 제발, 그것의 사진이 아닌 코드를 넣으십시오. – amit

+1

에 오신 것을 환영합니다. [도움말 페이지] (http://stackoverflow.com/help), 특히 [여기서 어떤 주제에 관해서 물어볼 수 있습니까?] (http://stackoverflow.com/help/) 섹션을 읽어보십시오. on-topic) 및 [ "어떤 유형의 질문을하지 않아야합니까?"] (http://stackoverflow.com/help/dont-ask). 또한 [좋은 질문을하는 방법에 대해 읽으십시오] (http://stackoverflow.com/help/how-to-ask)를 읽고 [최소한의 완전하고 검증 가능한 예제] (http : // stackoverflow)를 만드는 방법을 배우십시오. .com/help/mcve). –

답변

0

C++ 11 (또는 이상)을 지원하도록 컴파일하십시오.
중첩 된 클래스/구조체에서 최대 C++ 11까지는 포함 된 클래스의 형식 이름, 정적 멤버 및 열거 자만 사용할 수 있습니다.

0

previousComp 구조 heremaster 회원이 없습니다 참조하십시오. 객체의 인스턴스가 필요합니다. 여기에는 master이 액세스하는 멤버 변수입니다.

이 작업은 previousComp이 중첩 된 클래스에 대한 참조를 사용하여 수행 할 수 있습니다. 구조의 (임시) 인스턴스를 생성 할 때 생성자에

struct previousComp 
{ 
    ContainingClass const& object_; 

    previousComp(ContainingClass const& object) 
     : object_(object) 
    {} 

    bool operator()(...) 
    { 
     // Use object_.master here 
    } 
}; 

패스 *this처럼.

+0

도움 주셔서 감사합니다! – Adam

관련 문제