2012-06-28 2 views
1

Я в настоящее время интегрирую lua с C++. Для lua мне нужны статические методы, которые я ввел в класс. Мне нужен статический метод, связывающий (сохраняющий данные) с некоторыми полями в классе, но он терпит неудачу, когда я пытаюсь разными способами. Это выглядит следующим образом:Статический метод с полем

class CClass{ 
private: 
    static int a; 

public: 
    static int 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

Смежные вопросы