C 未解决的外部符号(公共静态INT)



当我尝试编译此内容时,我会收到此链接器错误:

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++;
    }
}

您只声明为 nightnight2,他们仍然需要定义。(因为它们是static(

在您的CPP文件中:

int HooksXD::night = 0;
int HooksXD::night2 = 0;

然后要访问一个不做lmao.night,因为它是静态的,您应该通过类型名称访问它:HooksXD::night。确保您实际上需要static

最新更新