当我尝试编译此内容时,我会收到此链接器错误:
lnk2001未解决的外部符号"公共:static int hooksxd ::夜"(?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++;
}
}
您只声明为 night
和 night2
,他们仍然需要定义。(因为它们是static
(
在您的CPP文件中:
int HooksXD::night = 0;
int HooksXD::night2 = 0;
然后要访问一个不做lmao.night
,因为它是静态的,您应该通过类型名称访问它:HooksXD::night
。确保您实际上需要static
。