2012-06-28 6 views
1

저는 현재 루아와 C++를 통합하고 있습니다. 루아에는 클래스에 넣은 정적 메서드가 필요하다. 클래스의 일부 필드와 정적 메서드 통신 (데이터 저장)이 필요하지만 다른 방법을 시도하면 실패합니다. 그것은 다음과 같이 진행됩니다필드가있는 정적 메서드

class CClass{ 
private: 
    static int a; 

public: 
    static int f(); 
} 

나는 이런 식으로 F() 메소드를 구현하려고 :

int CClass::f() { 
    a = 5; 
    return 0; 
} 

를하지만 확인되지 않은 외부 기호 나에게 오류를 제공합니다. 방법으로 강제로 거기에 내 데이터를 저장하려면?

감사합니다.

답변

3

대부분의 static 멤버는 클래스 외부에서 정의 할 필요가 :

class CClass { 
    static int a; 
    // ... 
}; 

int CClass::a; // in the .cpp file, not the header 
+0

아, 참. 나는 그것을 잊었다. – tobi