C++ 访问最新创建的类实例的非静态类成员
我希望通过静态方法访问非静态类成员。它还定义了应该使用类的哪个实例进行访问。它是最近创建的实例 我试图通过使用静态指针作为该类的成员来实现这一点,该类指示最近初始化的对象是什么。每次我们初始化一个对象时,类构造函数都会设置这个指针 代码如下所示:C++ 访问最新创建的类实例的非静态类成员,c++,C++,我希望通过静态方法访问非静态类成员。它还定义了应该使用类的哪个实例进行访问。它是最近创建的实例 我试图通过使用静态指针作为该类的成员来实现这一点,该类指示最近初始化的对象是什么。每次我们初始化一个对象时,类构造函数都会设置这个指针 代码如下所示: class Klasse { public: Klasse() { me = this; //an error is thown here:"undefined reference to `Klasse::me'" nummer = e
class Klasse
{
public:
Klasse()
{
me = this; //an error is thown here:"undefined reference to `Klasse::me'"
nummer = eins;
}
private:
static Klasse* me;
enum
{
eins = 1,
zwei = 2
}nummer;
static void SMethod()
{
me->nummer= zwei;
}
};
int main(void)
{
int i = 0;
Klasse instanz;
//...
}
有人知道为什么抛出对“Klasse::me”的错误未定义引用吗?您错过了以下内容:
Klasse* Klasse::me = nullptr;
静态数据成员必须在.cpp文件中定义