首页 > 解决方案 > 类中的c ++函数在主函数中不起作用

问题描述

所以我试图改变游戏内存中的一些字节。该函数本身工作得很好,但是当我把它放到一个类中时,它基本上什么都不做。

主文件

int main()
{
    while (!GetAsyncKeyState(VK_END))
    {
        // this is the function I'm talking about
        if (vars::infAmmo)
        {
            mem::nop((void*)0x7FF65564B5E0, 8);
        }
        else
        {
            mem::patch((void*)0x7FF65564B5E0, (void*)"\x41\x89\x84\x8E\x94\x01\x00\x00", 8);
        }

        Sleep(100);
    }

    return 0;
}

^^ 这完全没问题

之后,我决定把它放到一个类中,稍微整理一下我的代码。然后我遇到了它不起作用的问题。

杂项cpp

#include "pch.h"

void CMisc::infAmmo()
{
    if (vars::infAmmo)
    {
        mem::nop((void*)0x7FF65564B5E0, 8);
    }
    else
    {
        mem::patch((void*)0x7FF65564B5E0, (void*)"\x41\x89\x84\x8E\x94\x01\x00\x00", 8);
    }
}

void CMisc::run()
{
    infAmmo();
}

杂项

#pragma once

class CMisc
{
private:
    void infAmmo();
public:
    CMisc() {};
    ~CMisc() {};
public:
    void run();
};

主文件

CMisc misc{};

int main()
{
    while (!GetAsyncKeyState(VK_END))
    {
        misc.run();

        Sleep(100);
    }
    return 0;
}

^^ 基本上什么都不做

抱歉,如果这很明显,但我就是找不到问题所在。

标签: c++

解决方案


推荐阅读