我目前正在将 lua 与 C++ 集成。对于lua,我需要放在类中的静态方法。我需要静态方法与类中的某些字段进行通信(保存数据),但是当我尝试不同的方法时它失败了。它是这样的:
class CClass{
private:
static int a;
public:
static int f();
}
我尝试以这种方式实现 f() 方法:
int CClass::f() {
a = 5;
return 0;
}
但它给了我未解析的外部符号的错误。如何强制该方法将我的数据保存在那里?
谢谢。
最佳答案
大多数static
成员需要在类外定义:
class CClass {
static int a;
// ...
};
int CClass::a; // in the .cpp file, not the header
关于c++ - 带字段的静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11249314/