我目前正在将lua与C ++集成。对于lua我需要静态方法,我已经把它放在一个类中。我需要静态方法与类中的某些字段进行通信(保存数据),但是当我尝试不同的方法时它会失败。它是这样的:
class CClass{
private:
static int a;
public:
static int f();
}
我尝试以这种方式实现f()方法:
int CClass::f() {
a = 5;
return 0;
}
但它给我带有未解析的外部符号的错误。如何强制该方法将数据保存在那里?
感谢。
答案 0 :(得分:3)
大多数static
成员需要在课外定义:
class CClass {
static int a;
// ...
};
int CClass::a; // in the .cpp file, not the header