当我尝试编译它时,我收到此链接器错误:
LNK2001 unresolved external symbol "public: static int HooksXD::night" (?night@HooksXD@@2HA)
标题是:
class HooksXD
{
public:
static void XD3();
static int night;
static int night2;
};
变量是公开的而不是私有的,因为我需要从不属于同一类的其他空位中访问它们。
cpp文件:
HooksXD lmao;
void HooksXD::XD3()
{
//this void will be called from other cpp files
lmao.night = 1;
lmao.night2 = 1;
};
bool __stdcall CreateMoveClient_Hooked(float frametime, CUserCmd* pCmd)
{
if (lmao.night = 1)
{
//some code
lmao.night++;
}
}
答案 0 :(得分:2)
您只声明了night
和night2
,他们仍然需要定义。 (因为他们是static
)
在你的cpp文件中:
int HooksXD::night = 0;
int HooksXD::night2 = 0;
然后访问一个不执行lmao.night
,因为它是静态的,您应该通过类型名称HooksXD::night
访问它。
确保你确实在这里需要static
。