我有:C++ - 如何从一个类的静态函数访问一个类的私有成员?
所以我有一个私有成员和一个静态函数的类。 函数必须是静态的,我不能改变它。
我想要什么:
我需要访问,从静态函数,私有成员。 任何想法? :)
请波纹管检查代码:
class Base
{
private:
int m_member;
public:
Base() : m_member(0) {};
~Base() {};
static void key_callback(GLFWwindow* window, int key, int scancode, int action, int mode); /* This must really be static because it is coming from C */
};
void Base::key_callback(GLFWwindow* window, int key, int scancode, int action, int mode)
{
m_member = 1; // <---- illegal reference to non-static member 'Base::m_member'
}
功能必须具有类类型的参数。在这种情况下,您可以访问作为参数参数传递的对象的数据成员。 –
您需要静态成员函数中的类实例来访问非静态成员变量。 – Niall